Возможный дубликат:
ssh_exchange_identification: соединение закрыто удаленным хостом
Я вижу, что это распространенная ошибка, но я прочитал много вопросов и ответов, и, похоже, ничего из этого не помогает.
# ssh -vvv machine OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to machine [xx.xx.xx.xx] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file /root/.ssh/identity type -1 debug3: Not a RSA1 key file /root/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /root/.ssh/id_rsa type 1 debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048 debug1: identity file /root/.ssh/id_dsa type -1 ssh_exchange_identification: Connection closed by remote host
Но я могу использовать ssh на этой машине (A) с других машин (B), у меня проблема только с одной конкретной машины (C). ssh от A до C тоже работает нормально.
я проверил /etc/hosts.deny и пока пусто /etc/hosts.allow позволить всем с sshd: ALL: allow
. Здесь нет authorized_keys файл в использовании.
У меня была точно такая же ошибка. Я изменил файл /etc/hosts.allow с
ALL : localhost 127.0.0.1/32 [::1]/128 [::ffff:127.0.0.1]/128 : allow
ALL : PARANOID : deny
sshd: ALL : allow
к
ALL : localhost 127.0.0.1/32 [::1]/128 [::ffff:127.0.0.1]/128 : allow
sshd: ALL : allow
ALL : PARANOID : deny
Надеюсь, поможет.
Я бы хотел проверить две вещи.
Подтвердите право собственности и разрешения на используемый вами закрытый ключ.
Проверьте формат используемого ssh-ключа. Если вы используете коммерческий ssh-ключ SSH, его формат отличается от формата OpenSSH (и его производных). Мне кажется, вам нужно будет сгенерировать новый ключ на вашем клиентском компьютере, а затем вам нужно будет скопировать этот открытый ключ на свой сервер, где вам может потребоваться преобразовать его для использования с openssh.
ssh-keygen -i -f input.pub > output.pub
куда input.pub - это ключ, который вы скопировали у своего клиента, и output.pub - это ключ, который вы добавите в файл authorized_keys на сервере.
Я замечаю эту ошибку на серверах, когда порт 22 забивается из-за атаки подбора пароля или любого общего DoS. Обычно мне требуется консоль сервера, проверка auth.log и нулевой маршрут для рассматриваемого IP-адреса. Одним из хороших решений было ограничение скорости SSH через IPtables.