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

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

Подключение по SSH — первое, что вы делаете после аренды VPS: через защищённый терминал устанавливается софт, правятся конфиги и решается 99% задач администрирования. Хорошая новость — отдельные программы для этого почти не нужны: SSH-клиент уже встроен в Windows 10/11, macOS и любой дистрибутив Linux. В этом руководстве покажем, как выполнить подключение к серверу по SSH с каждой из трёх систем, как указать нестандартный порт, настроить файл ~/.ssh/config, передать файлы через scp и что означают ошибки вроде Connection refused. Все команды проверены на сервере с Ubuntu 24.04 LTS.

Что понадобится для подключения

SSH (Secure Shell) — протокол зашифрованного удалённого доступа к командной строке сервера. Весь трафик между вашим компьютером и VPS шифруется, поэтому перехватить пароль или команды в открытом виде невозможно. Чтобы установить SSH-подключение, нужны четыре вещи:

  • IP-адрес сервера — например, 203.0.113.10;
  • логин — на свежем VPS это обычно root;
  • пароль или SSH-ключ;
  • порт — по умолчанию 22, но он может быть изменён.

Эти данные хостер выдаёт при создании сервера. У Cheap-Host VPS разворачивается автоматически за 45–60 секунд, IP-адрес и SSH-доступ выдаются моментально после оплаты — ждать письма от техподдержки не придётся.

Базовая команда подключения одинакова во всех операционных системах:

ssh root@203.0.113.10

При первом входе клиент покажет отпечаток ключа сервера и попросит подтверждение:

The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:xXbQ4o1kV0...
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Введите yes — отпечаток сохранится в файле ~/.ssh/known_hosts, и при следующих входах вопрос не повторится. Это защита от подмены сервера: если отпечаток внезапно изменится, клиент откажется подключаться и выведет предупреждение.

После ввода пароля появится приглашение вида root@server:~# — вы на сервере. Что делать дальше, мы разобрали в чек-листе «Первые 10 шагов после покупки VPS».

Windows: встроенный OpenSSH и PuTTY

OpenSSH в PowerShell и Windows Terminal

Начиная с Windows 10 (сборка 1809) клиент OpenSSH предустановлен, в Windows 11 — тем более. Убедиться в этом можно в разделе Settings → Apps → Optional features: в списке установленных компонентов должен значиться «OpenSSH Client». Если его вдруг нет, нажмите «Add a feature», найдите OpenSSH Client и установите — займёт около минуты.

Откройте PowerShell или Windows Terminal и проверьте версию клиента:

ssh -V

Ответ вида OpenSSH_for_Windows_9.5p1 означает, что всё готово. Дальше — та же команда, что и в Linux:

ssh root@203.0.113.10

Если сервер слушает нестандартный порт, укажите его флагом -p:

ssh -p 2222 user@203.0.113.10

Отличий от «классического» OpenSSH нет: работают ключи, файл конфигурации (лежит в C:\Users\<имя>\.ssh\config), команды scp и sftp.

PuTTY: классический GUI-клиент

PuTTY — бесплатный графический клиент, который был стандартом де-факто до появления встроенного OpenSSH. Он по-прежнему удобен тем, кто предпочитает сохранённые сессии и настройку мышкой:

  1. Скачайте PuTTY с официального сайта putty.org и запустите.
  2. В поле Host Name (or IP address) введите IP сервера, в поле Port — 22 или ваш порт.
  3. Проверьте, что Connection type — SSH, и нажмите Open.
  4. При первом подключении подтвердите отпечаток ключа сервера кнопкой Accept.
  5. В открывшемся окне терминала введите логин, затем пароль.

Чтобы не вводить адрес каждый раз, впишите название в поле Saved Sessions и нажмите Save — в следующий раз хватит двойного клика. Нюанс: PuTTY хранит приватные ключи в собственном формате .ppk, для конвертации обычных ключей OpenSSH используется утилита PuTTYgen из того же комплекта.

macOS: подключение через Terminal

В macOS клиент OpenSSH предустановлен, ставить ничего не нужно. Нажмите ⌘ + Space, наберите «Terminal», откройте приложение и выполните:

ssh root@203.0.113.10

Для нестандартного порта — тот же флаг -p, что и везде. Файл ~/.ssh/config, ключи, scp — всё работает идентично Linux, поэтому любая инструкция для Linux-клиента подходит и для macOS без изменений. Если работаете с серверами каждый день, посмотрите iTerm2 — сторонний терминал с вкладками и разделением окна, но и штатного Terminal для SSH полностью достаточно.

Linux: команда ssh

В настольных дистрибутивах SSH-клиент почти всегда установлен из коробки. Если у вас минимальная сборка и команда не найдена, установите пакет:

sudo apt install openssh-client

Подключение стандартное:

ssh root@203.0.113.10

Полезный приём для диагностики — флаг -v (verbose):

ssh -v root@203.0.113.10

Клиент напечатает каждый этап согласования: какой порт используется, какие ключи предлагаются, на каком шаге аутентификация обрывается. Если подключение не работает и причина неочевидна — начинайте разбор именно с ssh -v.

Нестандартный порт, файл ~/.ssh/config и scp

Если порт не 22

Порт 22 — магнит для ботов, перебирающих пароли, поэтому администраторы часто переносят SSH на другой порт. А на NAT VPS Cheap-Host отдельный SSH-порт выдаётся изначально: тарифы с общим IPv4 (от 59 ₽/мес) работают через проброс портов, и SSH слушает не 22, а порт, указанный в вашей панели. В обоих случаях синтаксис одинаковый:

ssh -p 2222 user@203.0.113.10

Зачем менять порт на обычном VPS и как сделать это правильно — в статье про смену SSH-порта.

Файл ~/.ssh/config: подключение одним словом

Держать в голове IP-адреса и порты не нужно — опишите серверы в файле ~/.ssh/config:

Host myvps
    HostName 203.0.113.10
    User root
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Теперь вместо длинной команды достаточно ssh myvps. Секций Host может быть сколько угодно — по одной на каждый сервер. Файл работает одинаково в Windows, macOS и Linux; в Windows он лежит по пути C:\Users\<имя>\.ssh\config (без расширения).

Вход по ключу вместо пароля

Пара ключей генерируется одной командой на вашем компьютере:

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

Публичный ключ (~/.ssh/id_ed25519.pub) добавляется на сервер, приватный никогда его не покидает — вход становится и удобнее, и на порядок безопаснее пароля. Полную настройку за 5 минут, включая отключение парольного входа, разобрали в статье про SSH-ключи.

Передача файлов через scp

Копирование файлов работает поверх того же SSH:

# локальный файл -> сервер
scp backup.tar.gz root@203.0.113.10:/root/

# с нестандартным портом (у scp флаг порта -- заглавная -P)
scp -P 2222 config.yml user@203.0.113.10:/home/user/

# с сервера -> в текущую папку, через алиас из ~/.ssh/config
scp myvps:/var/log/nginx/access.log .

Обратите внимание: у ssh порт задаётся строчной -p, у scp — заглавной -P. Алиасы из ~/.ssh/config работают и в scp, вместе с портом и ключом из конфига.

Частые ошибки подключения и их причины

ОшибкаПричинаЧто делать
Connection refusedНа этом порту никто не слушает: SSH-сервер не запущен, порт изменён или закрыт файрволомПроверьте порт (-p), правила файрвола; зайдите через VNC-консоль панели и выполните sudo systemctl status ssh
Connection timed outПакеты не доходят: неверный IP, сервер выключен, блокирует сеть или файрвол «дропает» соединенияСверьте IP, проверьте статус сервера в панели, выполните ping 203.0.113.10
Permission denied (publickey,password)Неверный логин или пароль, либо вход по паролю отключён на сервереПроверьте логин и раскладку клавиатуры; если настроены ключи — подключайтесь с -i ~/.ssh/id_ed25519
REMOTE HOST IDENTIFICATION HAS CHANGEDОтпечаток сервера не совпадает с сохранённым в known_hosts — обычно после переустановки ОСЕсли переустановка была вашей — удалите старый отпечаток: ssh-keygen -R 203.0.113.10
Too many authentication failuresКлиент перебрал слишком много ключей до нужногоУкажите ключ явно: ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 user@203.0.113.10

Отдельно про known_hosts: после переустановки операционной системы на VPS сервер генерирует новые ключи хоста, и клиент справедливо бьёт тревогу. Если ОС переустанавливали вы сами, просто удалите устаревшую запись:

ssh-keygen -R 203.0.113.10

При следующем подключении клиент предложит принять новый отпечаток. Если же ОС никто не переустанавливал, а предупреждение появилось — не игнорируйте его и разберитесь в причине.

FAQ

Как узнать, какой порт SSH использует мой сервер?

По умолчанию — 22. У NAT VPS Cheap-Host отдельный SSH-порт указан в панели и в данных, выданных при создании сервера. На уже работающем сервере порт можно посмотреть командой sudo grep -i '^port' /etc/ssh/sshd_config — пустой вывод означает стандартный порт 22.

Забыл пароль root — как попасть на сервер?

Через панель управления хостера: сбросьте пароль или откройте VNC-консоль — она работает в обход SSH, как монитор, подключённый напрямую к серверу.

Обязательно ли ставить PuTTY на Windows?

Нет. В Windows 10/11 встроен OpenSSH Client, и команды ssh и scp доступны прямо из PowerShell. PuTTY — вопрос привычки: сохранённые сессии и настройка мышкой против стандартного клиента без лишних программ.

Можно ли подключиться к VPS по SSH со смартфона?

Да. Для iOS и Android есть Termius, для Android — JuiceSSH. Вводите те же IP, логин, порт — и получаете полноценный терминал. Для регулярной работы неудобно, но перезапустить упавший сервис из любой точки — вполне.

Чем вход по ключу лучше пароля?

Ключ ED25519 невозможно подобрать перебором, его не перехватить при вводе и не забыть. Боты, круглосуточно брутфорсящие порт 22, становятся бессильны. Настройка занимает 5 минут и является первым пунктом любого чек-листа по безопасности сервера.

Вывод

Подключение по SSH — это одна команда: ssh root@IP в PowerShell, Terminal или любом Linux-терминале. Дальше стоит потратить 10 минут на удобство и безопасность: прописать сервер в ~/.ssh/config, сгенерировать ключ через ssh-keygen и запомнить, что нестандартный порт задаётся флагом -p. Таблица ошибок выше закроет 90% проблем при первом подключении.

Если сервера у вас ещё нет — у Cheap-Host тариф Start за 450 ₽/мес: 6 vCPU, 8 ГБ RAM, 96 ГБ NVMe, KVM с полным root-доступом и безлимитный трафик. Сервер разворачивается за 45–60 секунд, IP и SSH-доступ выдаются моментально — через минуту после оплаты вы уже вводите свою первую команду ssh.

Читайте также