Не удаётся подключиться по SSH
Диагностика по тексту ошибки: timeout, connection refused, permission denied, изменённый ключ хоста.
На этой странице
Что делать, если команда ssh root@IP_СЕРВЕРА или PuTTY не подключается к серверу. Найдите в таблице ниже сообщение, которое вы видите: по нему понятно, где проблема — в сети, в службе SSH или в аутентификации. Всё, что можно исправить из панели, делается на карточке сервера на странице «Мои серверы» панели app.blackbox.md (app.blackbox.md/my-servers, левое меню «Инфраструктура» → «Мои серверы»; с blackbox.md: «Личный кабинет» → «Панель управления»).
Доступно: владельцу аккаунта blackbox.md, который заказал сервер. На карточках с пометкой «Обслуживается» кнопок панели нет — напишите в поддержку.
Примечание У клиентов нет ни веб-консоли, ни VNC. Кнопки «Запустить», «Остановить» и «Перезагрузить» работают и без SSH. А вот «Сбросить пароль», «Добавить SSH-ключ», «Включить вход по паролю» и «Отключить вход по паролю» подключаются к серверу по SSH через порт 22 с ключом «Ключ управления (blackbox.md)». Они выручат, если не принимается ваш пароль или ключ, но бесполезны, если SSH на сервере не отвечает совсем.
Что проверить в первую очередь
- IP-адрес. Скопируйте его из карточки сервера, поле «IP» (кнопка рядом с адресом показывает «Скопировано»). Не подключайтесь по домену: он может ещё не указывать на сервер.
- Пользователь —
root. - Порт — 22, если вы сами его не меняли.
- Способ входа показывает значок рядом с именем сервера: «Пароль + ключ» или «Только ключ». На сервере «Только ключ» пароль по SSH не работает.
- Сервер только что создан? Письмо с темой «Serverul dvs. este gata — BBX-…» может прийти примерно за минуту до того, как SSH начнёт отвечать. Подождите минуту и повторите попытку.
Сообщение об ошибке, причина и решение
| Сообщение | Вероятная причина | Что делать |
|---|---|---|
Connection timed out (в macOS — Operation timed out; в PuTTY — Network error: Connection timed out) |
сервер остановлен, указан не тот IP, сервер только что создан, ваша сеть блокирует порт 22 или файрвол системы отбрасывает подключение | раздел «Connection timed out» |
Connection refused (в PuTTY — Network error: Connection refused) |
SSH не запущен или ещё запускается, вы перенесли его на другой порт, либо подключение отклоняет файрвол системы или fail2ban | раздел «Connection refused» |
No route to host |
подключение отклоняет файрвол системы (например, firewalld) или есть проблема с сетью |
шаг 5 в разделе «Connection timed out»; проверьте и порт (раздел «Проверки со своего компьютера») |
Could not resolve hostname |
адрес написан с ошибкой или домен не указывает на сервер | подключайтесь по IP-адресу из карточки |
Permission denied (publickey) (в PuTTY — No supported authentication methods available (server sent: publickey) или Server refused our key) |
сервер «Только ключ», а ваш ключ не установлен или компьютер предлагает другой ключ; пользователь — не root |
раздел «Permission denied (publickey)» |
Permission denied, please try again., в конце Permission denied (publickey,password). (в PuTTY — Access denied) |
неверный пароль или пароль сменён командой passwd |
раздел «Permission denied» при вводе пароля |
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! и Host key verification failed. |
на вашем компьютере сохранён другой отпечаток для этого IP-адреса | раздел «REMOTE HOST IDENTIFICATION HAS CHANGED» |
Too many authentication failures |
компьютер предлагает слишком много ключей, прежде чем дойти до нужного | раздел «Too many authentication failures» |
WARNING: UNPROTECTED PRIVATE KEY FILE! |
у файла приватного ключа слишком широкие права доступа (macOS, Linux) | конец раздела «Permission denied (publickey)» |
«Connection timed out»: сервер не отвечает
Подключение не доходит до сервера или остаётся без ответа. Проверьте по порядку:
- IP-адрес. Сравните адрес в команде с полем «IP» на карточке.
- Сервер только что создан. Подождите минуту и повторите попытку.
- Сервер остановлен. Панель не показывает, включён сервер или выключен: метка «active» на карточке означает лишь, что сервер активен в вашем аккаунте. Если вы его останавливали или не уверены, нажмите «Запустить» на карточке и подтвердите «Запустить ИМЯ_СЕРВЕРА?» кнопкой «OK». Подождите несколько минут и повторите попытку. Ошибка
power_action_failedпосле «Запустить» обычно означает, что сервер уже был включён. Подробнее: Перезагрузка, остановка и запуск сервера. - Ваша сеть блокирует порт 22. Некоторые офисные сети, отели и публичный Wi-Fi не пропускают SSH. Попробуйте подключиться из другой сети, например через мобильный интернет. Если оттуда получается, обратитесь к администратору исходной сети или посмотрите раздел про fail2ban.
- Файрвол системы отбрасывает подключение. Например, вы включили
ufwилиfirewalld, не разрешив порт 22. Тогда не работают и кнопки панели, которым нужен SSH. Нажмите «Перезагрузить»: это поможет, только если правило не было сохранено насовсем. Иначе: Потерян доступ к серверу (пароль или ключ).
Сетевая фильтрация, которой управляет BLACKBOX, пропускает SSH на порт 22, поэтому обычному подключению она не мешает: Файрвол: сетевая фильтрация и ufw/firewalld на сервере.
«Connection refused»: сервер отвечает, но SSH не принимает подключение
Сервер включён и доступен по сети, но на порту 22 никто не слушает или подключение отклоняется.
| Причина | Что делать |
|---|---|
| Сервер только что запустился, и SSH ещё загружается | подождите минуту и повторите попытку |
| Вы перенесли SSH на другой порт | сетевая фильтрация по умолчанию пропускает только порты 22, 80 и 443, а панель по-прежнему подключается к порту 22. Если поддержка открыла вам новый порт, подключитесь с параметром -p и новым портом (команда ниже); иначе напишите в поддержку |
Служба SSH остановлена (например, командой systemctl stop) |
нажмите «Перезагрузить»: при загрузке системы SSH запускается автоматически, если вы не отключили его автозапуск |
| Настройки SSH испорчены, и служба не запускается | «Перезагрузить» не поможет — напишите в поддержку |
| Подключение отклоняет файрвол системы или fail2ban | см. шаг 5 в разделе «Connection timed out» и раздел про fail2ban |
ssh -p ПОРТ root@IP_СЕРВЕРА«Permission denied (publickey)»: ключ не принят
Сервер отвечает, но пускает только по ключу, а ключа, который предлагает ваш компьютер, среди установленных нет.
Подключайтесь как
root. Данные для доступа от BLACKBOX выданы дляroot, а не для других пользователей.Явно укажите приватный ключ — файл без
.pub. Если файл ключа называется иначе (например,id_rsa), подставьте это имя в команды ниже.ssh -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРАВ PowerShell:
ssh -i $env:USERPROFILE\.ssh\id_ed25519 root@IP_СЕРВЕРАВ PuTTY файл
.ppkвыбирается в разделе «Connection» → «SSH» → «Auth» → «Credentials»: Подключение к серверу по SSH (Windows, macOS, Linux).Проверьте, есть ли ключ на сервере. На карточке нажмите «Добавить SSH-ключ»: вверху появится список «Установленные ключи» с началом отпечатка каждого ключа (например,
SHA256:Ab12Cd34Ef56G…). Выведите отпечаток своего ключа и сравните начало:ssh-keygen -lf ~/.ssh/id_ed25519.pubВ PowerShell:
ssh-keygen -lf $env:USERPROFILE\.ssh\id_ed25519.pubЕсли ключа нет, выберите «Вставить новый ключ», вставьте содержимое файла
.pubи нажмите «Добавить ключ». Появится сообщение «Ключ добавлен.». Если ключ сохранён в разделе «Личный кабинет» → «SSH-ключи», выберите «Использовать сохранённый ключ». Если ключ создан в PuTTYgen, скопируйте текст из поля «Public key for pasting into OpenSSH authorized_keys file» — это одна строка, которая начинается сssh-ed25519илиssh-rsa. Подробнее: Добавление и удаление SSH-ключей на сервере.Подключитесь снова.
Если приватный ключ потерян или вы хотите временно войти по паролю («Включить вход по паролю», затем «Сбросить пароль»): Потерян доступ к серверу (пароль или ключ).
Если SSH пишет WARNING: UNPROTECTED PRIVATE KEY FILE! и не использует ключ, у файла ключа слишком широкие права доступа. В macOS и Linux:
chmod 600 ~/.ssh/id_ed25519«Permission denied» при вводе пароля
Сообщение Permission denied, please try again. появляется после каждого неверного пароля. После трёх попыток SSH закрывает подключение с сообщением Permission denied (publickey,password)..
- На карточке нажмите «Показать учётные данные» и подтвердите «Показать сохранённые учётные данные для ИМЯ_СЕРВЕРА? Доступ фиксируется в журнале.». Появится блок с полями «Пользователь» и «Пароль».
- Скопируйте пароль и вставьте его, когда SSH попросит (в PowerShell и PuTTY — правой кнопкой мыши). При вводе пароль на экране не отображается.
- Если пароль всё равно не подходит, скорее всего, вы меняли его командой
passwd: панель показывает пароль, который сохранила сама — при создании сервера или при последнем сбросе. Нажмите «Сбросить пароль» и подтвердите «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.». Новый пароль появится в том же блоке. Сбрасывать пароль можно не больше 3 раз за 5 минут: Сброс пароля root.
Сервер «Только ключ» не принимает пароли по SSH, даже после сброса: SSH даже не спрашивает пароль и сразу отвечает Permission denied (publickey). Подключайтесь по ключу или нажмите «Включить вход по паролю»: Включение и отключение входа по паролю по SSH.
Если вы установили fail2ban, несколько неверных паролей подряд могут привести к блокировке вашего IP-адреса — см. раздел про fail2ban.
«REMOTE HOST IDENTIFICATION HAS CHANGED»
При одном из прошлых подключений ваш компьютер сохранил для этого IP-адреса другой отпечаток: например, раньше этот адрес принадлежал другому серверу, к которому вы подключались, или на сервере переустановили систему. Пока старый отпечаток не удалён, SSH отказывается подключаться. Удалите его (команда работает и в PowerShell):
ssh-keygen -R IP_СЕРВЕРАПодключитесь снова и подтвердите новый отпечаток словом yes. В PuTTY в окне «PuTTY Security Alert» нажмите «Accept».
Внимание Если вы не получали новый сервер на ранее использованный IP-адрес и систему на сервере не переустанавливали, не продолжайте подключение и напишите в поддержку. Отпечаток, сменившийся без причины, может означать, что соединение кто-то перехватывает.
«Too many authentication failures»
В SSH-агенте на вашем компьютере загружено несколько ключей, и он предлагает их по очереди. Сервер разрывает соединение после ограниченного числа попыток, так и не дойдя до нужного ключа. Укажите один ключ:
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРАЧтобы на сервере «Пароль + ключ» сразу войти по паролю, не перебирая ключи:
ssh -o PubkeyAuthentication=no root@IP_СЕРВЕРАВаш IP-адрес заблокирован fail2ban
Этот раздел касается вас, если вы установили на сервер fail2ban. После слишком большого числа неудачных попыток входа fail2ban блокирует IP-адрес, с которого они шли: из вашей сети подключение отклоняется или зависает, а из другой сети — работает.
Из заблокированной сети откройте
https://ip.blackbox.md/ruи запишите показанный адрес — это и есть заблокированный адрес (Инструмент «Ваш публичный IP-адрес»).Подключитесь к серверу из другой сети, например через мобильный интернет.
Посмотрите заблокированные для SSH адреса в строке «Banned IP list»:
fail2ban-client status sshdРазблокируйте свой адрес:
fail2ban-client set sshd unbanip ВАШ_IPЧтобы это не повторилось, добавьте адрес в
ignoreip: Защита от подбора паролей с помощью fail2ban.
Если другой сети нет, дождитесь окончания блокировки. Её длительность — значение bantime в настройках fail2ban.
Проверки со своего компьютера
Отвечает ли порт 22?
Windows (PowerShell):
Test-NetConnection IP_СЕРВЕРА -Port 22TcpTestSucceeded : True значит, что порт отвечает и проблема в аутентификации. False значит, что SSH не отвечает: см. разделы «Connection timed out» и «Connection refused».
macOS и Linux:
nc -vz IP_СЕРВЕРА 22Строка со словом succeeded или Connected значит, что порт отвечает. Connection refused или timed out — что не отвечает. Если команда долго ничего не выводит, порт не отвечает: прервите её сочетанием Ctrl + C.
Что показывает ssh -v
В подробном режиме SSH выводит каждый шаг подключения:
ssh -v root@IP_СЕРВЕРА| Строка в выводе | Что она значит |
|---|---|
Connecting to IP_СЕРВЕРА [IP_СЕРВЕРА] port 22., затем ожидание или timed out |
подключение не доходит до сервера: сеть, остановленный сервер или файрвол |
Connection established. |
сеть и порт 22 в порядке |
Authentications that can continue: publickey |
сервер пускает только по ключу («Только ключ») |
Authentications that can continue: publickey,password |
сервер принимает и пароль |
Offering public key: … |
ключ, который предлагает ваш компьютер; если на сервере установлен другой, укажите нужный через -i |
Server accepts key: … |
сервер принял ключ |
Authentication succeeded |
вход выполнен |
В PuTTY подробности подключения есть в журнале «Event Log»: щёлкните правой кнопкой мыши по заголовку окна → «Event Log».
Если подключиться так и не удалось
- Потеряли пароль или ключ либо заблокировали себя файрволом: Потерян доступ к серверу (пароль или ключ).
- Напишите на support@blackbox.md с адреса, указанного в аккаунте, или создайте тикет в разделе «Личный кабинет» → «Помощь и поддержка». В рабочее время можно позвонить по номеру +373 78 003948 (телефон или WhatsApp), пн–пт, 09:00–18:00 по времени Молдовы. Все каналы связи: Как связаться с поддержкой BLACKBOX.
Укажите в сообщении:
- IP-адрес сервера и номер заказа
BBX-…(поля «IP» и «Заказ» на карточке); - ваш публичный IP-адрес с
ip.blackbox.md; - точный текст ошибки и время, когда она появилась;
- полный вывод команды
ssh -v root@IP_СЕРВЕРА; - что вы меняли на сервере в последний раз (файрвол, настройки SSH, ключи).
Безопасность В выводе
ssh -vнет ни пароля, ни приватного ключа, поэтому его можно отправить. Никогда не отправляйте пароль root, приватный ключ или API-токены.
Частые вопросы
Вчера подключение работало, а сегодня нет. С чего начать?
Проверьте порт через Test-NetConnection или nc. Если порт не отвечает ни из одной сети, а на сервере вы ничего не меняли, нажмите «Перезагрузить». Если и через несколько минут подключиться не удаётся, напишите в поддержку.
«Перезагрузить» не помогает, сервер не отвечает совсем. «Перезагрузить» выполняет обычную (мягкую) перезагрузку, а кнопки принудительного сброса в панели нет. Если и через несколько минут сервер не отвечает, напишите в поддержку.
Windows сообщает, что ssh не распознан как команда.
Добавьте компонент OpenSSH Client в параметрах Windows, в разделе дополнительных компонентов, или используйте PuTTY: Подключение к серверу по SSH (Windows, macOS, Linux).
Как не заблокировать себя, меняя файрвол или настройки SSH?
Держите открытым второй сеанс SSH, пока не убедитесь, что новое подключение проходит. Не задавайте PermitRootLogin no и не удаляйте «Ключ управления (blackbox.md)»: иначе панель больше не сможет вам помочь.