Не могу подключиться по SSH — чек-лист
Сервер работает, но ssh root@<IP> висит или ругается. Пройдите по списку сверху вниз — 9 из 10 случаев решаются за 5 минут.
Шаг 1. Сервер вообще жив?
Из панели elistrax → Серверы → графики CPU/сеть. Если графики идут — сервер работает. Если плоские — VPS завис или выключен.
Из консоли:
ping <IP>- Отвечает → сеть работает, проблема в SSH.
Destination Host Unreachable→ сеть/маршрут. Идите в поддержку.Request timeout→ возможно, ICMP заблокирован firewall-ом, но SSH может работать. Дальше проверяйте порт.
Шаг 2. Порт 22 открыт?
nc -vz <IP> 22
# Connection to <IP> 22 port [tcp/ssh] succeeded!Или через telnet:
telnet <IP> 22
# SSH-2.0-OpenSSH_9.x- Успех → sshd отвечает, проблема в аутентификации.
Connection refused→ sshd не запущен или слушает другой порт.Operation timed out→ firewall блокирует. Это или ваш локальный, или на VPS, или у провайдера сети.
Шаг 3. sshd работает?
Если порт refused — через VNC-console или rescue mode:
systemctl status sshd
ss -tlnp | grep sshdЕсли sshd не запущен:
systemctl start sshd
systemctl enable sshdЕсли слушает нестандартный порт (например, 2222) — подключайтесь так:
ssh -p 2222 root@<IP>Шаг 4. Firewall
На VPS (через VNC):
# ufw
ufw status
# должно быть: 22/tcp ALLOW
# iptables
iptables -L -n | grep -E ':22|dpt:22'
# nftables
nft list ruleset | grep -E 'tcp dport 22'Если правила нет — временно откройте:
ufw allow 22/tcp
# или
iptables -I INPUT -p tcp --dport 22 -j ACCEPTШаг 5. fail2ban / вас забанили
Частая причина — 5 неверных паролей подряд, и ваш IP в бане на час:
fail2ban-client status sshd
fail2ban-client unban <ВАШ_IP>Или временно:
systemctl stop fail2banШаг 6. SSH-ключ не работает
ssh -v root@<IP>
# Смотрите строку "Offering public key: ..."
# Если "Server refused our key" — ключ на сервере не тотНа сервере (через VNC/rescue):
cat /root/.ssh/authorized_keys
# Ваш публичный ключ должен там бытьПроверьте права — критично:
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
chown -R root:root /root/.sshПроверьте sshd_config:
grep -E '^(PubkeyAuthentication|PermitRootLogin|AuthorizedKeysFile)' /etc/ssh/sshd_configДолжно быть:
PubkeyAuthentication yes
PermitRootLogin prohibit-password
AuthorizedKeysFile .ssh/authorized_keysШаг 7. Host key verification failed
Изменился ключ хоста (после переустановки, миграции):
ssh-keygen -R <IP>
ssh root@<IP>
# подтвердите новый fingerprintШаг 8. Too many authentication failures
SSH-агент шлёт все ваши ключи подряд, сервер отвергает после 6-й попытки. Форсируйте нужный ключ:
ssh -i ~/.ssh/id_ed25519_myserver -o IdentitiesOnly=yes root@<IP>Шаг 9. Ничего не помогает — rescue mode
Загрузитесь в rescue через панель. Оттуда можно смонтировать диск, поправить sshd_config, authorized_keys, hosts.deny, iptables.
Подробнее: Сброс root-пароля через rescue.