1

我在一个项目中使用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 不想建立连接!

4

2 回答 2

0

当 SSH 调试 (-v) 无法提供足够的输出时,我总是在调试模式下启动 sshd 并直接从 sshd 控制台观看。它往往会就根本原因给出更多反馈。

于 2013-09-04T13:20:14.263 回答
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 - 我怀疑您偶然发现了一个很久以前就已更正的错误。

于 2013-09-06T13:42:12.480 回答