После точки Фреда в комментариях (и на самом деле читает сообщение об ошибке), я был неправильно и SSH соединялся. Я оставлю свой оригинальный ответ внизу и дополнительно отвечу на вопрос о невозможности подключения к работающему SSH.
Еще один хороший способ диагностировать проблемы ssh, когда сервер sshd отказывает в соединениях, и если OP правильно, ничего не регистрируется в auth.log или syslog , это запустить его на отдельном порту с включенной отладкой (я выбрал произвольный порт из 44).
/full/path/to/sshd -p 44 -d
Затем вы можете подключиться к вашему ssh-клиенту и получить дальнейшую отладку проблемы:
ssh -p 44 root@x.x.x.x
Root (как Фред указал в своем ответе) - это пользователь, который потенциально может быть ограничен с помощью опции ssh PermitRootLogin в вашем sshd_config . Кроме того, типы методов аутентификации, используемые вашим sshd_config могут дополнительно ограничить доступ к вашему хосту:
RSAAuthentication
PubkeyAuthentication
RhostsRSAAuthentication
HostbasedAuthentication
ChallengeResponseAuthentication
PasswordAuthentication
KerberosAuthentication
GSSAPIAuthentication
Посмотрите на странице man для sshd_config (man 5 sshd_config) для получения дополнительной информации об этих опциях. Обычно большинство sshds имеют RSAAuthentication , PubkeyAuthentication и иногда PasswordAuthentication . RSAAuthentication специфичен для Protocol 1 и большинство хостов используют Protocol 2 который использует PubkeyAuthentication . Оба полагаются на то, что root имеет файл ключа (обычно находится в /root/.ssh/authorized_keys), но это местоположение может быть переопределено с помощью параметра AuthorizedKeysFile . Похоже, PasswordAuthentication не включена на вашем SSD.
Для аутентификации RSA и Pubkey вам нужна пара ключей. Которые вы сгенерировали, и они живут на вашем клиентском компьютере в /home/mona/.ssh/id_rsa и /home/mona/.ssh/id_rsa.pub . Общественности половина из этих двух файлов (ключ , содержащийся в /home/mona/.ssh/id_rsa.pub) вы должны поместить в файле authorized_key суперпользователя , упомянутом выше.
Оригинальный ответ, в котором говорится о невозможности удаленного подключения к процессу sshd
Это похоже на TCPWrappers или брандмауэр, закрывающий начальное соединение.
Проверьте свои auth.log или syslog в /var/log как они могут дать некоторые подсказки относительно того, что блокирует соединение.
TCPwrappers обычно реализуется через файл /etc/hosts.allow а в некоторых unixes - дополнительный или просто файл /etc/hosts.deny (т.е. без файла hosts.allow).
Записи обычно имеют вид:
<service> : <access list> : <allow|deny>
ИЛИ ЖЕ
<service> : <access list>
в зависимости от типа используемой оболочки TCP. Формат этих файлов обычно можно найти с помощью man-страницы man 5 hosts_access . Возможно, вам придется добавить запись, чтобы разрешить удаленный IP-доступ.
sshd : my.ip.address.here : allow
Большинство дистрибутивов с ядром Linux, как правило, используют iptables в качестве основного брандмауэра, хотя некоторые используют ipchains . (Я знаю, что FreeBSD использует ipfw портированный из NetBSD). Ваш поставщик услуг может также иметь межсетевой экран или маршрутизатор с межсетевым экраном перед вашим сервисом, который блокирует эти запросы. Относительно того, какой брандмауэр использует ваш хост, потребуется некоторое изучение.
Правила брандмауэра iptables могут быть перечислены с помощью команды iptables -nvL (которая должна запускаться от имени пользователя root или через sudo). Цепочка INPUT - это набор правил, используемый для разрешения / запрета входящих соединений вашего хоста. Возможно, вам придется добавить правило, разрешающее входящие SSH-соединения:
iptables -I INPUT -p tcp --dport 22 -j ACCEPT -m comment --comment "Allow SSH connections from all hosts"
Возможно, вы захотите сделать так, чтобы он разрешал соединения только с определенного IP:
iptables -I INPUT -s 10.10.10.10 -p tcp --dport 22 -j ACCEPT -m comment --comment "Allow SSH connections from the 10.10.10.10 host"
Если ваш поставщик услуг заблокирует порт 22, вам, вероятно, потребуется перевести службу на другой порт (порт 2222 довольно популярен) с помощью параметра « Port в файле sshd_config (который обычно находится в /etc/ssh).