Сбои OpenSSH

Я использую в проекте OpenSSH версии 13. Однако время от времени nchan.c возвращает ошибку. когда мы пытаемся подключиться к продукту по ssh, мы получаем следующие отпечатки в продукте, а затем соединение закрывается.

channel 0: rcvd eof
output open -> drain
channel 0: obuf empty
channel 0: close_write
channel 0: output drain -> closed

Все эти выходные данные из nchan.c. Просто читать код и пытаться понять, что могло произойти, по крайней мере, мне кажется невозможным! Кто-нибудь знает, почему OpenSSH может печатать эти сообщения об ошибках и закрывать соединение? Я надеюсь, что кто-то хорошо знаком с реализацией OpenSSH, чтобы указать мне правильное направление!

Я использую python для подключения к продукту, точнее python pexpect module. Я устанавливаю SSH-соединение, вхожу в систему с именем пользователя и паролем, а затем выполняю некоторые команды и проверяю вывод. В большинстве случаев это работает нормально, но, как объяснялось ранее, соединения время от времени терпят неудачу. Представленный выше вывод можно увидеть в продукте, а из pexpect выдается исключение, что он получил EOF (конец файла) от продукта (что означает, что соединение не может быть установлено). Это практически все распечатки, которые я получаю. Я надеюсь, что кто-то может понять, почему OpenSSH не хочет устанавливать соединение!


person theAlse    schedule 06.12.2012    source источник
comment
Создает ли продукт эти сообщения? Как вы пытаетесь подключиться к нему? При использовании ssh предоставьте распечатку ssh -v при возникновении ошибки.   -  person soulseekah    schedule 06.12.2012
comment
То, что вы показываете нам, является отладочными сообщениями. Регистрируются ли какие-либо дополнительные сообщения об ошибках? Если да: добавьте их в отладочные сообщения в порядке появления.   -  person alk    schedule 06.12.2012
comment
@soulseekah, см. исправленный вопрос выше, пожалуйста   -  person theAlse    schedule 06.12.2012
comment
Вы используете pxssh из pexpect? Можете ли вы получить больше многословия от прогонов? Вам нужно предоставить больше информации, так как невозможно догадаться, что не так.   -  person soulseekah    schedule 07.12.2012
comment
@soulseekah, я использую метод pexpect spawn для настройки SSH-соединения. Я не могу получить больше журналов, так как мы используем openssh напрямую, и это все распечатки, которые я получаю каждый раз, когда не удается установить соединение.   -  person theAlse    schedule 07.12.2012
comment
Без дополнительной информации невозможно сказать, извините.   -  person soulseekah    schedule 07.12.2012


Ответы (2)


Когда отладка SSH (-v) не дает достаточного результата, я всегда запускаю sshd в режиме отладки и смотрю напрямую из консоли sshd. Он имеет тенденцию давать больше информации о том, что именно является основной причиной.

person tomlarmon    schedule 04.09.2013

Если вы действительно используете версию OpenSSH, на которую ссылаетесь, значит, вы используете устаревшую версию.

Последнюю версию файла OpenSSH nchan.c можно найти здесь: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/nchan.c?rev=1.63;content-type=text%2Fx-cvsweb-markup, и вы можете заметить разницу в версии: 1.63 (от 26.01.2010) и 1.32 (от 10.10.2001).

Пожалуйста, убедитесь, что вы обновили OpenSSH до последней версии — я подозреваю, что вы наткнулись на ошибку, которая была давно исправлена.

person A.N.Onymous    schedule 06.09.2013