Назад в блог/Как подключиться к серверу по SSH: Windows, macOS и Linux

Как подключиться к серверу по SSH: Windows, macOS и Linux

Пошаговое подключение к VPS по SSH из Windows, macOS и Linux: вход по паролю и ключу, настройка SSH config, туннель и разбор частых ошибок.

Подключение к серверу по SSH с ноутбука
SSH-подключение к VPS

SSH даёт защищённый удалённый доступ к командной строке Linux-сервера. Для первого входа нужны адрес сервера, имя пользователя и пароль или приватный ключ. После подключения команды выполняются на сервере, а окно терминала остаётся на вашем компьютере.

В Яндекс Wordstat запрос «как подключиться к серверу по SSH» набрал 534 показа за последние 30 дней на момент подготовки материала. Ниже — короткая инструкция для Windows, macOS и Linux, а также разбор типовых ошибок.

Что подготовить перед подключением

Уточните в панели хостинга:

  • публичный IP или доменное имя VPS;
  • имя системного пользователя;
  • SSH-порт — обычно 22, но администратор мог его изменить;
  • способ входа: пароль или ключ.

Для примеров ниже вместо 203.0.113.10 подставляйте адрес своего сервера, а вместо deploy — выданное вам имя пользователя. Диапазон 203.0.113.0/24 зарезервирован для документации и не является адресом реального сервера.

Windows: вход из PowerShell

В современных версиях Windows клиент OpenSSH доступен как системная функция. Откройте PowerShell или Windows Terminal и выполните:

POWERSHELL
ssh deploy@203.0.113.10

Если SSH работает на другом порту:

POWERSHELL
ssh -p 2222 deploy@203.0.113.10

При входе по паролю терминал запросит его. Символы во время набора не отображаются — это нормальное поведение. Введите пароль и нажмите Enter.

При первом подключении SSH покажет отпечаток ключа сервера и спросит, доверять ли ему. Сверьте отпечаток с данными в панели хостинга или запросите его у администратора по доверенному каналу. Не подтверждайте незнакомый ключ вслепую: проверка помогает заметить подключение к другому узлу или подмену соединения.

macOS и Linux

Откройте приложение Terminal и используйте ту же команду:

BASH
ssh deploy@203.0.113.10

Указать другой порт можно через -p:

BASH
ssh -p 2222 deploy@203.0.113.10

Клиент SSH обычно уже установлен на macOS и Linux. Если команда ssh не найдена, установите клиент OpenSSH средствами своей операционной системы.

Настройте вход по ключу

Для регулярного администрирования удобнее использовать пару SSH-ключей. Приватный ключ остаётся на вашем устройстве; на сервер добавляется только открытый ключ. Не отправляйте приватный ключ коллегам и не вставляйте его в тикеты или мессенджеры.

Создайте ключ Ed25519. Команда подходит для macOS, Linux и PowerShell, если компонент OpenSSH установлен:

BASH
ssh-keygen -t ed25519 -C "work-laptop"

Можно принять путь по умолчанию и задать парольную фразу ключа. Если на устройстве уже есть ключ с таким именем, сначала проверьте его: генерация поверх существующего файла заменит его.

На macOS и Linux добавьте открытый ключ на сервер командой ssh-copy-id:

BASH
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@203.0.113.10

Если ssh-copy-id не установлен, войдите по паролю и добавьте содержимое файла id_ed25519.pub в ~/.ssh/authorized_keys пользователя на сервере. В Windows открыть публичную часть можно так:

POWERSHELL
Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub"

Чтобы передать открытый ключ на сервер из PowerShell, выполните:

POWERSHELL
Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub" | ssh deploy@203.0.113.10 "umask 077; mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"

Проверьте ключ в новом окне терминала, пока текущая сессия ещё открыта:

BASH
ssh -i ~/.ssh/id_ed25519 deploy@203.0.113.10

На Windows путь будет выглядеть как C:\Users\Имя\.ssh\id_ed25519. Закрывайте старое подключение и отключайте парольный вход только после успешной проверки нового ключа и при наличии запасного доступа через консоль хостинга.

Сократите команду через SSH config

Если вы часто подключаетесь к одному узлу, добавьте профиль в файл ~/.ssh/config на macOS/Linux или %USERPROFILE%\.ssh\config на Windows:

SSHCONFIG
Host azerta-vps
    HostName 203.0.113.10
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519

После этого подключайтесь короткой командой:

BASH
ssh azerta-vps

Файл конфигурации может содержать адреса и имена пользователей, но не храните в нём приватные ключи в виде текста или пароли.

Частые сообщения об ошибке

Connection timed out. Клиент не получил ответ. Проверьте IP, порт, состояние VPS и правила сетевого экрана. Если у провайдера есть отдельный внешний firewall, правило для SSH должно быть разрешено и там.

Connection refused. Узел доступен, но на указанном порту соединение не принимает служба. Возможны неверный порт, остановленный sshd или локальный firewall. При изменении SSH-конфигурации держите открытой текущую сессию, чтобы можно было откатить ошибку.

Permission denied. Проверьте имя пользователя и способ входа. При ключевой авторизации укажите нужный файл через -i; администратор может запретить вход для root или отключить парольный вход.

REMOTE HOST IDENTIFICATION HAS CHANGED. Ключ узла изменился. Это бывает после переустановки VPS, но также может означать, что IP ведёт на другой сервер. Сначала сравните новый отпечаток с доверенным источником. Команду ssh-keygen -R 203.0.113.10 выполняйте только после проверки причины.

Полезная функция: туннель к локальному сервису

SSH может перенаправить порт приложения на ваш компьютер. Например, чтобы открыть базу данных, слушающую только 127.0.0.1:5432 на сервере:

BASH
ssh -L 127.0.0.1:5433:127.0.0.1:5432 deploy@203.0.113.10

Пока SSH-сессия открыта, клиент на вашем компьютере обращается к 127.0.0.1:5433; соединение проходит через SSH к локальному порту сервера. Привязка к 127.0.0.1 оставляет туннель доступным только с вашего устройства.

SSH подключает администратора к серверу и не заменяет резервные копии, firewall и обновления системы. Первичную настройку Ubuntu мы разбираем в отдельном руководстве по защите и настройке VPS.

Документация

Нужен быстрый сервер под ваш проект?

Арендуйте производительный KVM VPS в Москве или Германии на скоростных NVMe дисках от 300 ₽/мес. Автовыдача за 60 секунд, выделенный IPv4 и защита от DDoS.

Выбрать тариф