Для подключения к VPS по SSH обычно нужны четыре вещи:
- Публичный IP-адрес сервера;
- Имя пользователя;
- Порт SSH;
- Пароль или private key.
Базовая команда выглядит так: ssh user@SERVER_IP
Например: ssh root@203.0.113.10
Если SSH работает не на стандартном порту 22, порт указывается через -p: ssh -p 2222 user@SERVER_IP
Для подключения с private key используется параметр -i: ssh -i ~/.ssh/id_ed25519 user@SERVER_IP
В Windows Terminal, PowerShell, macOS Terminal и Linux Terminal команды практически одинаковые. PuTTY настраивается через графический интерфейс: IP-адрес указывается в поле Host Name, порт — в поле Port, а private key подключается в настройках SSH-аутентификации.
При первом подключении клиент покажет fingerprint сервера. Это цифровой отпечаток SSH-ключа VPS. Его нужно по возможности сверить с данными в панели провайдера и только после этого подтвердить соединение.
Если появляется ошибка, её текст обычно сразу указывает направление проверки:
| Ошибка | Что проверить |
| Permission denied | Пользователя, пароль, ключ и разрешённый способ входа |
| Connection timed out | IP-адрес, порт, firewall и доступность VPS |
| Connection refused | Запущен ли SSH и слушает ли он указанный порт |
| Bad permissions | Права доступа к private key |
| Host key verification failed | Сохранённый fingerprint и возможную смену сервера |
Для первого подключения лучше использовать данные из панели провайдера без изменений. После входа можно создать отдельного пользователя, добавить свой SSH-ключ, проверить новую сессию и только затем отключать парольный вход или root-login.
Что нужно для подключения по SSH

IP-адрес сервера
IP-адрес — это сетевой адрес VPS, по которому SSH-клиент находит сервер в интернете. Обычно провайдер показывает его в панели управления сразу после создания виртуальной машины.
Для подключения используется публичный IPv4- или IPv6-адрес, например: 203.0.113.10
В команде он указывается после имени пользователя: ssh user@203.0.113.10
Если IP-адрес введён неправильно, подключение обычно завершается ошибкой Connection timed out, No route to host или попыткой соединиться с другим сервером.
Не стоит путать IP-адрес VPS с адресом сайта. Домен к vps можно привязать позже и использовать его вместо IP, но для первого подключения удобнее использовать именно IP из панели провайдера.
Имя пользователя
Имя пользователя определяет, под какой учётной записью выполняется вход. Оно зависит от выбранного образа и настроек провайдера.
Чаще всего встречаются следующие варианты:
- root;
- ubuntu;
- debian;
- admin;
- пользователь, созданный вручную при заказе VPS.
Имя указывается перед символом @: ssh ubuntu@203.0.113.10
Если пользователь выбран неверно, сервер может быть доступен, но авторизация завершится ошибкой Permission denied.
Нужное имя обычно указано в письме от провайдера, панели управления или документации к образу. После первого входа под root рекомендуется создать отдельного пользователя с правами sudo.
Порт SSH
Порт указывает, через какой сетевой вход сервер принимает SSH-соединения. Стандартное значение — 22.
Если используется стандартный порт, отдельно указывать его не нужно: ssh user@203.0.113.10
Для нестандартного порта применяется параметр -p: ssh -p 2222 user@203.0.113.10
Важно использовать строчную букву p. Заглавная -P в некоторых других утилитах означает другое действие и для обычной команды ssh не подходит.
Номер порта должен совпадать сразу в нескольких местах: в конфигурации SSH-сервера, правилах firewall и команде подключения. Если хотя бы в одном месте указано другое значение, соединение не установится.
Пароль и private key
После соединения сервер должен проверить личность пользователя. Для этого обычно используется пароль или SSH-ключ.
Пароль — это обычная секретная комбинация, заданная для учётной записи. При вводе в терминале символы не отображаются: это нормальное поведение, а не ошибка интерфейса.
Private key — закрытая часть пары SSH-ключей. Она хранится только на компьютере пользователя и используется для подтверждения доступа. Передавать private key другим людям или загружать его на сервер нельзя.
Открытая часть ключа, напротив, размещается на VPS в файле: ~/.ssh/authorized_keys
Для подключения с конкретным private key используется команда: ssh -i ~/.ssh/id_ed25519 user@203.0.113.10
На Windows путь может выглядеть так: ssh -i C:\Users\User\.ssh\id_ed25519 user@203.0.113.10
Для автоматического подключения к серверу без указания ключа в команде необходимо запустить ssh-agent, при необходимости загрузить ключ в память командой ssh-add и в дальнейшем подключаться командой ssh user@203.0.113.10
SSH-ключ обычно безопаснее пароля, особенно если private key защищён дополнительной парольной фразой. При этом важно не потерять файл ключа и заранее сохранить резервный способ доступа через панель или консоль провайдера, можно сравнить ключ ssh с ключом от дома.
Что такое fingerprint
Fingerprint — это короткий цифровой отпечаток публичного SSH-ключа сервера. Он помогает убедиться, что клиент подключается именно к нужному VPS, а не к подменённому узлу.
При первом соединении SSH показывает сообщение примерно такого вида: The authenticity of host cannot be established.
Ниже отображается fingerprint и предлагается подтвердить подключение. По возможности его нужно сверить со значением в панели провайдера или серверной консоли.
После подтверждения fingerprint сохраняется на компьютере в файле known_hosts. При следующих подключениях SSH сравнивает ключ сервера с сохранённым значением.
Если fingerprint неожиданно изменился, клиент покажет предупреждение. Это может произойти после переустановки VPS, смены SSH-ключей сервера или переноса IP-адреса. Но изменение также может указывать на подмену соединения, поэтому предупреждение нельзя игнорировать автоматически.
Перед удалением старой записи нужно убедиться, что сервер действительно был переустановлен или изменён. После этого устаревший fingerprint можно удалить командой: ssh-keygen -R 203.0.113.10
Когда IP-адрес, пользователь, порт и способ авторизации известны, можно переходить к подключению через Windows Terminal или PowerShell.
Подключение через Windows Terminal и PowerShell

Вход по паролю
В современных версиях Windows SSH-клиент уже встроен в Windows Terminal и PowerShell, поэтому отдельная программа обычно не нужна.
Откройте Windows Terminal или PowerShell и выполните команду: ssh user@SERVER_IP
Например: ssh root@203.0.113.10
При первом подключении появится fingerprint сервера. После проверки его нужно подтвердить, введя: yes
Затем система запросит пароль. Во время ввода символы не отображаются — это нормальное поведение терминала.
Если данные указаны правильно, откроется командная строка удалённого сервера. По приглашению обычно можно понять, под каким пользователем и на каком VPS выполнен вход.
Если команда ssh не распознаётся, нужно проверить наличие компонента OpenSSH Client в дополнительных возможностях Windows.
Для временного первого входа пароль подходит, но постоянный доступ лучше перевести на SSH-ключ.
Вход по SSH-ключу
Если пара ключей ещё не создана, её можно сгенерировать прямо в PowerShell или Windows Terminal: ssh-keygen -t ed25519
По умолчанию private key сохраняется в каталоге: C:\Users\User\
.ssh\id_ed25519
А открытая часть — в файле: C:\Users\User\.ssh\id_ed25519.pub
Private key остаётся на компьютере. Содержимое файла .pub нужно добавить на сервер в ~/.ssh/authorized_keys.
После этого подключение обычно выполняется обычной командой: ssh user@SERVER_IP
SSH автоматически проверит стандартные пути к ключам. Если нужно указать конкретный private key, используется параметр -i: ssh -i C:\Users\User\.ssh\id_ed25519 user@SERVER_IP
Если в пути есть пробелы, его нужно заключить в кавычки: ssh -i "C:\Users\User Name\.ssh\server_key" user@SERVER_IP
Private key может быть защищён парольной фразой. В таком случае SSH запросит её при подключении. Это пароль от самого файла ключа, а не от учётной записи на VPS.
После успешного входа по ключу стоит открыть второе окно терминала и повторить подключение. Только после такой проверки можно отключать парольную авторизацию на сервере.
Для автоматического подключения по ключу также необходимо запустить ssh-agent, который представлен в Windows в виде службы.
Подключение через нестандартный порт
Если SSH-сервер принимает соединения не на стандартном порту 22, его нужно указать через параметр -p: ssh -p 2222 user@SERVER_IP
При использовании private key параметры можно объединить: ssh -p 2222 -i C:\Users\User.ssh\id_ed25519 user@SERVER_IP
Порядок параметров не принципиален, но номер порта должен совпадать с настройкой SSH-сервера и правилом firewall.
Если порт указан неверно, чаще всего появляется Connection timed out или Connection refused. Это не обязательно означает неправильный пароль: до этапа авторизации соединение могло вообще не дойти.
Чтобы не вводить длинную команду каждый раз, параметры можно позже сохранить в SSH config. Но для первого подключения лучше использовать полную команду — так проще проверить пользователя, IP, порт и путь к ключу отдельно.
Подключение через PuTTY

Вход по паролю
PuTTY - довольно популярная программа для работы с терминалами разного вида (SSH, Telnet, консольное подключение). Была незаменимым помощником на старых версиях Windows, но и сейчас многие люди предпочитают её "встроенному" SSH.
После запуска PuTTY откроется окно настройки сессии. Для обычного подключения достаточно заполнить два поля:
- Host Name (or IP address) — IP-адрес VPS;
- Port — порт SSH, обычно 22.
В разделе Connection type нужно оставить SSH, затем нажать Open.
При первом подключении PuTTY покажет предупреждение о неизвестном host key. Это аналог проверки fingerprint. По возможности отпечаток нужно сверить с данными провайдера, после чего подтвердить сохранение ключа сервера.
Далее появится строка: login as:
В неё вводится имя пользователя, например root или ubuntu. После этого PuTTY запросит пароль.
Во время ввода пароль не отображается. Если авторизация прошла успешно, откроется терминал VPS.
Если появляется Access denied, нужно проверить имя пользователя, пароль и разрешён ли парольный вход на сервере.
Для постоянной работы безопаснее использовать SSH-ключ, а не пароль.
Подключение с private key
PuTTY традиционно использует private key в формате .ppk. Если ключ уже создан в формате OpenSSH, его можно импортировать через PuTTYgen и сохранить как .ppk.
Для этого нужно:
- Открыть PuTTYgen.
- Нажать Load.
- Выбрать существующий private key.
- При необходимости указать парольную фразу.
- Нажать Save private key.
После этого в PuTTY нужно перейти в раздел: Connection → SSH → Auth → Credentials
В поле Private key file for authentication выбирается сохранённый файл .ppk.
Далее следует вернуться в раздел Session, указать IP-адрес и порт, затем нажать Open.
Аналогично ssh-agent-у для входа без указания ключа можно использовать утилиту pageant из поставки PuTTY - запустить её и добавить туда ключ. После этого его можно не указывать в PuTTY или plink (консольная утилита из поставки).
Если публичная часть ключа ещё не добавлена на сервер, PuTTY не сможет выполнить вход. Она должна находиться в файле: ~/.ssh/authorized_keys
Private key нельзя передавать провайдеру или загружать на VPS. На сервер добавляется только публичная часть.
В новых версиях PuTTY поддержка форматов OpenSSH стала лучше, но .ppk по-прежнему остаётся самым предсказуемым вариантом для совместимости.
Настройка пользователя, порта и сохранённой сессии
Чтобы не вводить параметры при каждом запуске, соединение можно сохранить как отдельную сессию.
Сначала в разделе Session указываются:
- IP-адрес или доменное имя;
- порт SSH;
- тип соединения SSH.
Имя пользователя можно сохранить в разделе: Connection → Data
В поле Auto-login username указывается нужная учётная запись, например: ubuntu
Private key задаётся в разделе: Connection → SSH → Auth → Credentials
После настройки нужно вернуться в Session, ввести понятное имя в поле Saved Sessions и нажать Save.
Например: production-vps
В дальнейшем достаточно выбрать сохранённую сессию и нажать Load, затем Open.
Перед сохранением стоит проверить четыре параметра:
| Параметр | Что должно быть указано |
| Host Name | Публичный IP или домен VPS |
| Port | 22 или настроенный SSH-порт |
| Auto-login username | Реальный пользователь сервера |
| Private key | Нужный .ppk-файл |
Если сессия не подключается, лучше загрузить её, перепроверить каждый параметр и только затем изменять настройки firewall или SSH-сервера.
После PuTTY можно переходить к подключению из Terminal на macOS, где используется та же команда ssh, что и в Linux.
Подключение через Terminal на macOS

Вход по паролю
На macOS SSH-клиент уже встроен в приложение Terminal. Открыть его можно через Spotlight или каталог Applications → Utilities.
Для подключения используется команда: ssh user@SERVER_IP
Например: ssh root@203.0.113.10
При первом соединении Terminal покажет fingerprint сервера и попросит подтвердить подключение. После проверки нужно ввести: yes
Затем появится запрос пароля. Во время ввода символы не отображаются — это нормальное поведение терминала.
Если данные указаны правильно, откроется командная строка VPS. Для первого входа пароль допустим, но постоянный доступ лучше перевести на SSH-ключ.
Вход по SSH-ключу
Если ключа ещё нет, его можно создать прямо в Terminal: ssh-keygen -t ed25519
По умолчанию private key сохраняется в файле: ~/.ssh/id_ed25519
Открытая часть — в файле: ~/.ssh/id_ed25519.pub
Private key остаётся на Mac, а содержимое файла .pub добавляется на сервер в: ~/.ssh/authorized_keys
После этого подключение обычно выполняется обычной командой: ssh user@SERVER_IP
Если нужно явно указать конкретный private key, используется параметр -i: ssh -i ~/.ssh/id_ed25519 user@SERVER_IP
Для нестандартного имени файла команда может выглядеть так: ssh -i ~/.ssh/production_key user@SERVER_IP
Если private key защищён парольной фразой, Terminal запросит её при подключении. Это пароль от файла ключа, а не от учётной записи на сервере.
После успешного входа стоит проверить подключение ещё раз в новом окне Terminal. Только после этого можно отключать парольную авторизацию на VPS.
Подключение через нестандартный порт
Если SSH работает не на порту 22, номер указывается через параметр -p: ssh -p 2222 user@SERVER_IP
При подключении с private key параметры объединяются: ssh -p 2222 -i ~/.ssh/id_ed25519 user@SERVER_IP
Если порт указан неверно, соединение обычно завершается ошибкой Connection timed out или Connection refused.
Номер порта должен совпадать с конфигурацией SSH-сервера и правилами firewall. Для первого подключения лучше использовать полную команду, а позже сохранить параметры в ~/.ssh/config, чтобы не вводить их вручную каждый раз.
Подключение через Terminal в Linux

Вход по паролю
В большинстве дистрибутивов Linux SSH-клиент уже установлен. Для подключения откройте Terminal и выполните команду: ssh user@SERVER_IP
Например: ssh ubuntu@203.0.113.10
При первом подключении появится fingerprint сервера. После проверки его нужно подтвердить, введя: yes
Затем система запросит пароль. Во время ввода символы не отображаются — это нормальное поведение терминала.
Если команда ssh не найдена, клиент можно установить через пакетный менеджер. Для Ubuntu и Debian: sudo apt install openssh-client
После успешного входа откроется командная строка удалённого VPS.
Вход по SSH-ключу
Если SSH-ключ ещё не создан, его можно сгенерировать командой: ssh-keygen -t ed25519
По умолчанию private key сохраняется в файле: ~/.ssh/id_ed25519
Открытая часть — в: ~/.ssh/id_ed25519.pub
Передать публичный ключ на сервер удобнее всего так: ssh-copy-id user@SERVER_IP
После этого для подключения обычно достаточно стандартной команды: ssh user@SERVER_IP
Важный нюанс - для работы без указания ключа так же нужно использовать ssh-agent, по умолчанию в Linux он запущен.
Если нужно использовать конкретный private key, он указывается через -i: ssh -i ~/.ssh/id_ed25519 user@SERVER_IP
Для защиты private key можно задать парольную фразу. В этом случае при подключении SSH запросит именно её, а не пароль учётной записи на VPS.
Если клиент сообщает о слишком открытых правах на private key, их нужно ограничить: chmod 600 ~/.ssh/id_ed25519
Для каталога .ssh обычно используются права: chmod 700 ~/.ssh
После успешного входа по ключу стоит повторить подключение в новом окне Terminal. Только затем можно отключать парольную авторизацию на сервере.
Проверка и сохранение параметров в SSH config
Чтобы не указывать IP, пользователя, порт и путь к ключу при каждом подключении, параметры можно сохранить в файле: ~/.ssh/config
Если файла ещё нет, его можно создать командой: nano ~/.ssh/config
Пример конфигурации:
Host production
HostName 203.0.113.10
User ubuntu
Port 2222
IdentityFile ~/.ssh/id_ed25519
После сохранения права на файл лучше ограничить: chmod 600 ~/.ssh/config
Теперь вместо полной команды можно использовать короткий вариант: ssh production
Проверить, какие параметры SSH применит к конкретному хосту, позволяет команда: ssh -G production
Если подключение не работает, полезно запустить клиент в подробном режиме: ssh -v production
Для ещё более детального вывода используются -vv или -vvv. В логе будет видно, какой пользователь выбран, какой ключ используется, к какому IP и порту выполняется подключение и на каком этапе возникает ошибка.
SSH config особенно удобен при работе с несколькими VPS. Для каждого сервера можно задать короткое имя и хранить параметры отдельно, не копируя длинные команды из заметок.
Примеры команд для подключения

По паролю
Для подключения по паролю используется базовая команда: ssh user@SERVER_IP
Например: ssh ubuntu@203.0.113.10
После установления соединения SSH запросит пароль пользователя. Во время ввода символы не отображаются.
Сама команда не содержит пароль: передавать его прямо в строке подключения не нужно и небезопасно.
По SSH-ключу
Если private key хранится по стандартному пути и связан с нужным пользователем, достаточно обычной команды: ssh user@SERVER_IP
Чтобы явно указать файл ключа, используется параметр -i: ssh -i ~/.ssh/id_ed25519 user@SERVER_IP
Пример для Windows: ssh -i C:\Users\User\.ssh\id_ed25519 ubuntu@203.0.113.10
На сервере должна находиться соответствующая публичная часть ключа в файле ~/.ssh/authorized_keys.
С указанием порта
Если SSH использует нестандартный порт, он задаётся через строчную -p: ssh -p 2222 user@SERVER_IP
Например: ssh -p 2222 ubuntu@203.0.113.10
Если порт не указан, клиент пытается подключиться к стандартному порту 22.
При ошибочном номере соединение обычно завершается сообщением Connection timed out или Connection refused ещё до проверки пароля или ключа.
С указанием пользователя и private key
Полная команда может одновременно содержать пользователя, IP-адрес, порт и путь к ключу: ssh -p 2222 -i ~/.ssh/production_key ubuntu@203.0.113.10
Здесь:
- ssh — запускает SSH-клиент;
- -p 2222 — задаёт порт сервера;
- -i ~/.ssh/production_key — указывает private key;
- ubuntu — имя пользователя;
- 203.0.113.10 — публичный IP-адрес VPS.
В Windows аналогичная команда выглядит так: ssh -p 2222 -i C:\Users\User\.ssh\production_key ubuntu@203.0.113.10
Если путь содержит пробелы, его нужно заключить в кавычки: ssh -p 2222 -i "C:\Users\User Name.ssh\production key" ubuntu@203.0.113.10
Для регулярных подключений все эти параметры удобнее сохранить в SSH config. Но при диагностике проблем полная команда полезнее: она позволяет явно проверить пользователя, IP, порт и выбранный ключ.
Далее пробежимся по типовым ошибкам при подключении.
Типовые ошибки подключения по SSH

Permission denied
Ошибка Permission denied означает, что сервер доступен, но не принял выбранный способ авторизации.
Чаще всего причина в одном из следующих пунктов:
- Указан неверный пользователь;
- Введён неправильный пароль;
- Выбран не тот private key;
- Публичный ключ не добавлен в authorized_keys;
- Парольная авторизация отключена на сервере;
- Вход под root запрещён;
- Права на каталог .ssh или файлы ключей настроены неправильно.
Для диагностики полезно запустить подключение в подробном режиме: ssh -v user@SERVER_IP
Если используется конкретный ключ: ssh -v -i ~/.ssh/id_ed25519 user@SERVER_IP
В выводе будет видно, какой ключ предлагает клиент и на каком этапе сервер отклоняет вход.
Connection timed out
Ошибка Connection timed out означает, что клиент не получил ответ от указанного адреса и порта за отведённое время.
Возможные причины:
- VPS выключен или перезагружается;
- Указан неправильный IP-адрес;
- Выбран неверный SSH-порт;
- Порт закрыт firewall;
- Доступ блокирует security group или сетевой firewall провайдера;
- Сервер временно недоступен по сети.
Сначала нужно сверить IP и порт с панелью провайдера. Затем проверить, отвечает ли сервер и доступен ли нужный порт с внешней сети.
Если есть доступ к веб-консоли VPS, на сервере стоит проверить статус SSH и слушающие порты:
sudo systemctl status ssh
sudo ss -ltnp
Если SSH работает, но соединение всё равно зависает, вероятная причина — firewall или сетевые правила провайдера.
Connection refused
Ошибка Connection refused означает, что сервер ответил, но на выбранном порту никто не принимает SSH-соединение либо соединение активно отклоняется.
Обычно это происходит, если:
- SSH-сервис остановлен;
- Выбран неправильный порт;
- SSH слушает только локальный интерфейс;
- Конфигурация OpenSSH содержит ошибку;
- Firewall настроен на активное отклонение соединений.
Через консоль провайдера нужно проверить сервис: sudo systemctl status ssh
При необходимости его можно запустить: sudo systemctl start ssh
Затем следует проверить, на каком порту слушает сервер: sudo ss -ltnp | grep ssh
Если сервис не запускается после изменения конфигурации, полезно проверить её синтаксис: sudo sshd -t
Указан неправильный порт
Стандартный порт SSH — 22, но администратор или провайдер может использовать другое значение.
Для нестандартного порта команда выглядит так: ssh -p 2222 user@SERVER_IP
Распространённая ошибка — подключаться без -p, хотя SSH уже перенесён на другой порт. В результате клиент обращается к порту 22 и получает Connection timed out или Connection refused.
Порт нужно сверить в трёх местах:
- В команде подключения;
- В конфигурации SSH-сервера;
- В правилах firewall или security group.
При изменении порта новое правило firewall следует добавить до перезапуска SSH. Иначе сервер может стать недоступен извне.
Указан неверный пользователь
Даже при правильных IP, порте и ключе сервер не пустит пользователя, которого не существует или которому не назначен этот ключ.
Типичные имена зависят от образа VPS:
- root;
- ubuntu;
- debian;
- admin;
- пользователь, созданный при заказе сервера.
Например, ключ может быть добавлен для ubuntu, а подключение выполняется под root: ssh root@SERVER_IP
В этом случае нужно использовать правильную учётную запись: ssh ubuntu@SERVER_IP
Имя пользователя стоит проверить в панели провайдера, письме с данными доступа или документации к выбранному образу.
Сломаны права на SSH-ключ
OpenSSH не использует private key, если файл доступен посторонним пользователям. В Linux и macOS в таком случае появляется предупреждение вроде UNPROTECTED PRIVATE KEY FILE или Bad permissions.
Для private key обычно устанавливаются права: chmod 600 ~/.ssh/id_ed25519
Для каталога .ssh: chmod 700 ~/.ssh
На сервере нужно проверить права на каталог и файл с публичными ключами:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Также важно, чтобы файлы принадлежали нужному пользователю: chown -R user ~/.ssh
На Windows проблема чаще связана не с chmod, а с доступом других учётных записей к файлу. В таком случае нужно проверить разрешения файла через его свойства или использовать ключ из стандартного каталога пользователя .ssh.
Подключение блокирует firewall
SSH может быть запущен и настроен правильно, но firewall не пропускает соединения на нужный порт.
Для UFW состояние проверяется командой: sudo ufw status verbose
Если SSH работает на стандартном порту, разрешить его можно так: sudo ufw allow OpenSSH
Для нестандартного порта: sudo ufw allow 2222/tcp
Нельзя удалять старое разрешающее правило до проверки подключения через новый порт в отдельной сессии.
Кроме UFW, доступ может блокировать внешний firewall провайдера, security group или ACL. В панели управления должно существовать входящее правило для TCP-порта SSH, по возможности ограниченное доверенным IP-адресом.
Если доступа по SSH уже нет, исправлять правила придётся через web console, VNC или rescue mode провайдера. После восстановления соединения стоит повторно проверить IP, пользователя, порт, ключ и firewall по порядку, а не менять все параметры одновременно.
Чек-лист перед повторной попыткой подключения

Если SSH-подключение не работает, последовательно проверьте:
- VPS включён и доступен в панели провайдера;
- Используется правильный публичный IP-адрес;
- Указано верное имя пользователя;
- Выбран правильный SSH-порт;
- SSH-сервис запущен на сервере;
- Нужный порт разрешён в UFW и firewall провайдера;
- Выбран правильный private key;
- Публичный ключ добавлен нужному пользователю;
- Права на .ssh, authorized_keys и private key не нарушены;
- Сохранённый fingerprint соответствует текущему серверу.
Для подробной диагностики запустите подключение с параметром -v: ssh -v -p 2222 -i ~/.ssh/id_ed25519 user@SERVER_IP
Лучше проверять параметры по одному. Если одновременно менять порт, пользователя, ключ и firewall, определить реальную причину ошибки станет сложнее.
Заключение

Для подключения к VPS по SSH нужны IP-адрес, имя пользователя, порт и способ авторизации. В Windows Terminal, PowerShell, macOS Terminal и Linux Terminal используется практически одинаковая команда ssh. PuTTY предоставляет те же возможности через графический интерфейс.
Пароль подходит для первого входа, но для постоянного администрирования безопаснее использовать SSH-ключ. Private key должен оставаться на компьютере пользователя, а на сервер добавляется только его публичная часть.
При первом подключении важно проверить fingerprint. Он подтверждает, что клиент соединяется с нужным сервером. Неожиданное изменение отпечатка нельзя игнорировать без проверки причин.
Большинство проблем также можно определить по тексту ошибки. Permission denied обычно связано с пользователем, паролем или ключом. Connection timed out указывает на недоступность адреса, порта или блокировку firewall. Connection refused чаще означает, что на выбранном порту не работает SSH-сервис.
Если подключиться не удаётся, стоит последовательно проверить IP, пользователя, порт, ключ, состояние SSH и сетевые правила. Такой порядок обычно позволяет найти причину без случайного изменения рабочей конфигурации сервера.
FAQ
Можно ли подключиться к VPS без SSH-ключа?
Да, если на сервере разрешена парольная авторизация. В таком случае достаточно указать пользователя и IP-адрес: ssh user@SERVER_IP
После соединения SSH запросит пароль учётной записи. Для первого входа такой вариант допустим, но для постоянной работы безопаснее настроить SSH-ключ и затем отключить парольную авторизацию.
Где взять имя пользователя для VPS?
Имя пользователя обычно указано в письме после создания VPS, панели управления или документации к выбранному образу.
Чаще всего используются root, ubuntu, debian или admin. Если указать несуществующего пользователя либо учётную запись, которой не назначен нужный ключ, сервер вернёт ошибку Permission denied.
Что делать, если fingerprint изменился?
Сначала нужно выяснить причину. Fingerprint закономерно меняется после переустановки VPS, пересоздания серверных SSH-ключей или переноса IP-адреса на другую виртуальную машину.
Если таких изменений не было, предупреждение нельзя игнорировать: оно может указывать на подключение к другому серверу или подмену соединения.
После проверки новый fingerprint следует сверить через панель или консоль провайдера. Старую запись для конкретного IP можно удалить командой: ssh-keygen -R SERVER_IP
Затем при следующем подключении SSH предложит сохранить новый ключ сервера.
Как проверить, открыт ли SSH-порт?
С другого компьютера можно проверить соединение командой: ssh -v -p 2222 user@SERVER_IP
В Windows PowerShell также доступна проверка TCP-порта: Test-NetConnection SERVER_IP -Port 2222
На самом VPS список слушающих портов выводится так: sudo ss -ltnp
Правила UFW проверяются командой: sudo ufw status verbose
Если SSH слушает нужный порт, но внешнее подключение не проходит, следует проверить firewall операционной системы, security group и сетевые правила в панели провайдера.
Список источников
1. Ubuntu Server Documentation — OpenSSH server



