У меня есть доступ к серверу Ubuntu (10.4), к которому я не могу подключиться по SSH. С терминала время ожидания соединения истекло, а от putty в соединении отказано.
Я проверил, что sshd запущен и прослушивает все интерфейсы, iptables имеет все пустые цепочки и по умолчанию ACCEPT, дополнительный брандмауэр принимает входящий порт 22 и все исходящие. Я тоже не могу подключиться по telnet к порту 22.
В чем может быть проблема и как ее устранить?
Затем попробуйте войти в консоль:
ssh localhost
Это проверит демон ssh на хосте безотносительно к брандмауэру или другой фильтрации.
Вы используете сервер или кто-то другой? У вас есть root-доступ на сервере? Похоже, вы можете быть заблокированы на стороне сервера. Со стороны клиента мало что можно сделать. Прежде всего, попробуйте использовать параметры '-v', '-vv' или '-vvv', чтобы получить некоторую отладочную информацию о том, что происходит:
ssh -vv server.name.org
Если это бесполезно, вы можете трассировка, пинг, Nmap на хосте, чтобы попытаться увидеть, видите ли вы машину в сети:
traceroute server.name.org
ping server.name.org
nmap -v -A server.name.org
Вероятно, вы заблокированы брандмауэром на server.name.org и не исправимы на стороне клиента.
У вас есть доступ к серверу? Если это так, вы можете исключить брандмауэр как потенциальную проблему на сервере, отключив его, попробовав ssh, а затем снова включив его (все с сервера):
sudo servce iptables stop; ssh -v localhost; sudo service iptables start
Вы уверены, что процесс sshd запущен? Попробуйте посмотреть, работает ли он:
sudo service sshd status
Если он не работает, вам нужно его запустить:
sudo service sshd start
Вы можете включить его постоянно:
sudo chkconfig sshd on
Не знаю, слишком ли поздно, но я исправил эту проблему в Linux Lite, открыв порт на брандмауэре (UFW).
sudo ufw allow 22 #replace 22 with whatever port
источник: https://www.linuxliteos.com/forums/network/sshd-or-openssh/msg19245/#msg19245
У меня была такая же проблема, когда сервер реагировал на команду ping и приглашение на вход в систему, но не принимал соединения.
Глядя на все связанные sshd
config, я заметил, что в нем отсутствует /etc/pam.d/sshd
файл конфигурации.
Поскольку у меня был доступ к консоли виртуальной машины, я использовал scp
через консоль, чтобы скопировать этот файл конфигурации с другого сервера, который устранил проблему.
Команда для копирования файла с удаленного сервера:
scp -r root@remoteserver:/etc/pam.d/sshd /etc/pam.d/
Перезапустите ssh
service с помощью этой команды:
service sshd restart
Теперь вы можете войти в систему.