Как подключиться к серверу по SSH и проверить его ключ

Инструкция рассчитана на сервер с уже настроенным SSH и выданными вам правами доступа. Она описывает работу клиента OpenSSH и не подтверждает наличие определённой ОС или способа первоначальной настройки у FlyVDS. Адрес, порт, пользователя и порядок получения доступа предоставляет администратор конкретного сервера.

Подготовьте параметры подключения

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

Примеры ниже используют user и 192.0.2.10. Это имя для замены и адрес из диапазона документации, а не рабочий сервер FlyVDS. Замените их выданными значениями; порт 22 тоже необходимо сверить. Пути к файлам приведены для macOS и Linux. Команды вводятся в терминале на вашем компьютере. Проверить наличие клиента можно без сетевого соединения:

ssh -V

Первый вход: сначала проверьте сервер

Команда ниже запрашивает подтверждение неизвестного ключа и ограничивает ожидание установления соединения. При первом подключении сравните показанный SHA256-отпечаток и тип ключа с полученными по доверенному каналу. Сравнение выполняется до подтверждения ключа и ввода пароля. Если отпечатка нет или он отличается, остановитесь и выясните причину.

После подтверждения клиент сохраняет ключ сервера в known_hosts и использует его при последующих соединениях. Вход затем проходит способом, разрешённым сервером. Пароль вводите в интерактивном приглашении; отсутствие символов на экране при вводе нормально. Не добавляйте пароль в команду или адрес подключения.

ssh -p 22 -o StrictHostKeyChecking=ask -o ConnectTimeout=10 user@192.0.2.10

Подготовьте отдельный ключ для входа

Для ключевой аутентификации создают пару: закрытый ключ остаётся у вас, открытый передаётся администратору или добавляется через предусмотренный механизм управления доступом. Пример создаёт Ed25519-ключ в выбранном файле. Перед запуском убедитесь, что такого файла ещё нет: существующий ключ перезаписывать нельзя. Если каталог .ssh отсутствует, подготовьте его с доступом только для своего пользователя.

Утилита предложит парольную фразу для защиты закрытого ключа. Открытая часть получит суффикс .pub. Передавайте именно её; закрытый файл и парольную фразу не нужно загружать на сервер или отправлять в поддержку. Порядок установки открытого ключа зависит от сервера. Сначала уточните пользователя и предусмотренный канал добавления.

ssh-keygen -t ed25519 -f ~/.ssh/vps_ed25519 -C "vps-access"

Проверьте вход с выбранным ключом

Когда открытый ключ установлен для нужного пользователя, укажите соответствующий закрытый файл. Параметр IdentitiesOnly ограничивает выбор явно настроенными идентификаторами. Запрос парольной фразы локального ключа отличается от запроса пароля пользователя на сервере: читайте приглашение перед вводом.

Если вы меняете уже работающий способ доступа, оставьте исходный сеанс открытым и проверьте новый вход в другом окне. Изменение ключей не требует немедленного отключения паролей или смены порта. Такие настройки сервера выполняются отдельно, с сохранённым путём восстановления доступа.

ssh -p 22 -o StrictHostKeyChecking=ask -o IdentitiesOnly=yes -o IdentityFile=~/.ssh/vps_ed25519 user@192.0.2.10

Как разбирать ошибки подключения

Ошибка соединения и отказ в аутентификации относятся к разным этапам. Сначала сохраните точный текст ошибки и проверьте введённые параметры. Не начинайте с отключения firewall или проверки ключа хоста: это может скрыть причину и изменить защиту работающего сервера.

  • Connection timed out: проверьте адрес, порт, доступность сети и разрешённый путь подключения. Причина может находиться на разных участках маршрута.
  • Connection refused: на выбранном адресе и порту нет принимающего соединение сервиса либо соединение явно отклоняется. Уточните состояние SSH через администратора или консоль.
  • Permission denied: проверьте имя пользователя, разрешённый способ входа и соответствие открытого ключа выбранному закрытому файлу.
  • Could not resolve hostname: проверьте написание имени и DNS. IP из документации не подставляйте вместо фактического адреса.

Что делать при изменении ключа хоста

Сообщение REMOTE HOST IDENTIFICATION HAS CHANGED означает, что представленный ключ не совпадает с сохранённым. Это возможно после переустановки, замены узла или обращения к другому серверу, но может указывать и на подмену. Не удаляйте весь known_hosts и не отключайте StrictHostKeyChecking.

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

Какие данные подготовить для поддержки

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

При подготовке этой статьи параметры SSH проверены локально в режиме -G, а генерация тестового ключа — в отдельном временном каталоге. Вход на удалённый сервер и его настройки не проверялись. Успешный разбор команды клиентом не подтверждает доступность порта, совпадение ключа хоста или успешную аутентификацию.

Источники и границы инструкции

Технические объяснения опираются на документацию ниже. Поддержка ОС и условия тарифа FlyVDS согласуются отдельно; эта статья не заменяет условия предоставления услуги.