我在一个项目中使用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不想建立连接!
发布于 2013-09-04 21:20:14
当SSH调试(-v)不能提供足够的输出时,我总是在调试模式下启动sshd,并直接从sshd控制台进行监视。它倾向于提供更多关于根本原因的反馈。
发布于 2013-09-06 21:42:12
如果您确实使用的是链接到的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 -我怀疑您偶然发现了一个很久以前就已更正的错误。
https://stackoverflow.com/questions/13739224
复制相似问题