我在项目中使用OpenSSH version13。 但是,当我们尝试使用ssh连接到产品时,偶尔nchan.c会返回错误,我们在产品中获得以下打印,然后关闭连接。
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不想设置连接!
答案 0 :(得分:0)
当SSH调试(-v)无法提供足够的输出时,我总是在调试模式下启动sshd并直接从sshd控制台观看。它倾向于提供更多关于确切根本原因的反馈。
答案 1 :(得分:0)
如果您确实使用的是您链接的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(日期为2010/01/26)与1.32(日期为2001/10/10)
请确保您升级到最新版本的OpenSSH - 我怀疑您偶然发现了很久以前已经纠正过的错误。