Подключение по 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. Он по-прежнему удобен тем, кто предпочитает сохранённые сессии и настройку мышкой:
- Скачайте PuTTY с официального сайта putty.org и запустите.
- В поле Host Name (or IP address) введите IP сервера, в поле Port — 22 или ваш порт.
- Проверьте, что Connection type — SSH, и нажмите Open.
- При первом подключении подтвердите отпечаток ключа сервера кнопкой Accept.
- В открывшемся окне терминала введите логин, затем пароль.
Чтобы не вводить адрес каждый раз, впишите название в поле 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.