Я запускаю Ubuntu 10.10 на удаленном компьютере. Я использую ssh каждый день без проблем, но сегодня совершенно неожиданно я получаю следующую ошибку:
ssh_exchange_identification: Connection closed by remote host
Если я свяжусь с -vv
, Я получаю следующее:
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/bla/.ssh/config
debug1: Applying options for ubuntu-server
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ubuntu-server.com [123.123.123.123] port 22.
debug1: Connection established.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /Users/bla/.ssh/id_rsa type -1
debug1: identity file /Users/bla/.ssh/id_rsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
Если я удалю ключ, я получу точно такой же результат (без «debug2: key_type _...). Мне удалось войти в систему физически и проверить свой hosts.allow
и hosts.deny
но в них нет записей. Пробовал удалить и переустановить OpenSSH, проверил authorized_keys
и ~/.ssh
разрешения и попытался подключиться с других компьютеров только для получения той же ошибки. Я в своем уме, любая помощь будет принята с благодарностью.
Для меня в CentOS7 это было вызвано множеством попыток входа в систему с использованием грубой силы в сочетании с настройкой по умолчанию MaxStartups
для sshd.
Страница руководства для sshd_config говорит следующее:
MaxStartups
Задает максимальное количество одновременных неаутентифицированных подключений к демону SSH. Дополнительные подключения будут сброшены до тех пор, пока аутентификация не будет успешной или не истечет время LoginGraceTime для подключения. По умолчанию - 10.
В качестве альтернативы можно включить случайное раннее отключение, указав три значения, разделенные двоеточием, «start: rate: full» (например, «10:30:60»). sshd (8) будет отклонять попытки подключения с вероятностью '' rate / 100 '' (30%), если в настоящее время существуют '' start '' (10) неаутентифицированные подключения. Вероятность возрастает линейно, и все попытки подключения отклоняются, если количество неаутентифицированных подключений достигает «полного» (60).
Установка начального значения на 25 (например, MaxStartups 25:30:100
) в /etc/ssh/sshd_config
решил вопрос.
Та же ошибка
ssh_exchange_identification: соединение закрыто удаленным хостом
происходит, когда закрытые ключи (файлы) доступны для чтения всем, т.е. имеют неправильные разрешения.
Например, если какой-либо из закрытых ключей
ssh_host_key
ssh_host_dsa_key
ssh_host_rsa_key
в /etc/ssh/
являются chmod 644
(должно быть chmod 600
).
Следующие разрешения приводят к ошибке «ssh_exchange_identification: соединение закрыто удаленным хостом»:
root@host:/etc/config/ssh# ls -la
drwxrwxrwx 2 root root 0 Aug 24 2005 .
drw-rw-rw- 3 root root 0 Apr 3 2007 ..
-rw-r--r-- 1 root root 88039 Aug 24 2005 moduli
-rw-r--r-- 1 root root 1559 Aug 24 2005 ssh_config
-rw-r--r-- 1 root root 668 Aug 24 2005 ssh_host_dsa_key
-rw-r--r-- 1 root root 599 Aug 24 2005 ssh_host_dsa_key.pub
-rw-r--r-- 1 root root 524 Aug 24 2005 ssh_host_key
-rw-r--r-- 1 root root 328 Aug 24 2005 ssh_host_key.pub
-rw-r--r-- 1 root root 883 Aug 24 2005 ssh_host_rsa_key
-rw-r--r-- 1 root root 219 Aug 24 2005 ssh_host_rsa_key.pub
-rw-r--r-- 1 root root 2018 Aug 25 2005 sshd_config
Исправлены разрешения, теперь подключения должны приниматься:
root@host:/etc/config/ssh# ls -la
drwxrwxrwx 2 root root 0 Aug 24 2005 .
drw-rw-rw- 3 root root 0 Apr 3 2007 ..
-rw-r--r-- 1 root root 88039 Aug 24 2005 moduli
-rw-r--r-- 1 root root 1559 Aug 24 2005 ssh_config
-rw------- 1 root root 668 Aug 24 2005 ssh_host_dsa_key
-rw-r--r-- 1 root root 599 Aug 24 2005 ssh_host_dsa_key.pub
-rw------- 1 root root 524 Aug 24 2005 ssh_host_key
-rw-r--r-- 1 root root 328 Aug 24 2005 ssh_host_key.pub
-rw------- 1 root root 883 Aug 24 2005 ssh_host_rsa_key
-rw-r--r-- 1 root root 219 Aug 24 2005 ssh_host_rsa_key.pub
-rw-r--r-- 1 root root 2018 Aug 25 2005 sshd_config
Это почти наверняка /etc/hosts.deny
файл имеет запись для вашей машины, добавьте
sshd: xxx.yyy.zzz.aaa
для вашего IP-адреса подключения к /etc/hosts.allow
-rw------- 1 user group 405 2011-10-29 10:20 authorized_keys2
authorized_keys2
является устарел с версии 3.0.
debug3: Not a RSA1 key file /Users/bla/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
Похоже, ваш закрытый ключ поврежден. Восстановите пару ключей, используйте ssh-copy-id
установить ваш открытый ключ в authorized_keys
файл и попробуйте еще раз.
Может ли быть новый брандмауэр, который что-то делает? Однажды я столкнулся с проблемой, когда в новом брандмауэре, который был представлен, была точно такая же проблема. Новый брандмауэр был представлен на стороне серверов.
Здесь может быть пара проблем.
*Authentication
директивы в вашем sshd_config
файл. ssh-keygen
-e
-i
и -m
флаги.