По какой-то причине я не могу получить доступ со своей виртуальной машины к удаленному виртуальному серверу на ферме серверов, и вместо этого он выдает мне следующее сообщение об ошибке:
OpenSSH_5.9p1, OpenSSL 1.0.0g 18 Jan 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to www.xxx.de [XXX.XXX.XXX.XXX] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
Недавно я много занимался обратным кунг-фу и некоторое время назад настроил скрипт защиты? В чем проблема? Мой сервер работает под управлением Suse 12.1.
решение1
Похоже, ваш SSH-клиент может иметь устаревший ключ для этого хоста. Я не уверен, как его очистить, но часть файла идентификации подсказывает мне, что это может быть так.
решение2
Эта ошибка может быть вызвана многими причинами, но всегда указывает на проблему с сервером, большинство из которых связаны с файловой системой или разрешением каталога (что маловероятно, если вы не вносили изменений). Возможно, корневая файловая система вашего удаленного сервера была перемонтирована в режиме только для чтения, возможно, есть ошибки диска и т. д. Вы должны увидеть что-то в журналах ошибок системы. Если возможно, вам следует закрыть ее и как можно скорее проверить файловую систему. Исправление файловой системы должно исправить это в большинстве случаев.
решение3
Я считаю, что проще устранять проблемы такого рода на стороне сервера (при условии, что вы можете добраться до сервера или иметь другой способ доступа).
Уровень ведения журнала sshd можно повысить и просмотреть журналы на предмет причин, по которым sshd закрывает соединение.
man sshd
говорит
LogLevel
Задает уровень детализации, используемый при регистрации сообщений от sshd(8). Возможные значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 и DEBUG3. Значение по умолчанию — INFO. DEBUG и DEBUG1 эквивалентны. DEBUG2 и DEBUG3 каждый указывает более высокие уровни отладочного вывода. Регистрация с уровнем DEBUG нарушает конфиденциальность пользователей и не рекомендуется.
решение4
Если TCP-соединение принимается и сразу же закрывается, весьма вероятно, что оно было заблокировано с помощьюtcp_wrappers, и это почти всегда означает denyhosts
, который вы упомянули в комментарии для установки.
Если можете, попробуйте подключиться с другого адреса (например, через прокси) и проверьте, есть ли вы в списке /etc/hosts.deny
. Если да,следоватьэти инструкцииудалить ваш адрес из полудюжины баз данных, которыеdenyhostsподдерживает. При желании вы также можете добавить свой собственный адрес в /etc/hosts.allow
.
Ваш веб-сервер продолжает работать, поскольку он не используетtcp_wrappersпо соображениям производительности. (На самом деле, очень немногие программы на самом делеиспользоватьэто.)