Возможный дубликат:
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 .
Существует две вещи, которые я проверил бы.
Проверьте владение и полномочия закрытого ключа, который Вы используете.
Проверьте формат ssh-ключа, который Вы используете. Если Вы используете коммерческий ssh-ключ SSH, у них есть другой формат, чем OpenSSH (и производные). Смотрит на меня как, необходимо будет генерировать новый ключ клиентской машине, затем необходимо будет скопировать тот открытый ключ в машину сервера, где Вы, возможно, должны преобразовать его для использования с openssh.
ssh-keygen -i -f input.pub > output.pub
Где input.pub является ключом, Вы скопировали от своего клиента, и output.pub является ключом, который Вы добавите к 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
. Надеюсь, это поможет.
Я замечаю эту ошибку на серверах, когда порт 22 блокируется в результате атаки подбора пароля или любого общего DoS. Обычно мне требуется консоль сервера, проверка auth.log и нулевой маршрут для рассматриваемого IP-адреса. Одним из хороших решений было ограничение скорости SSH через IPtables.