我正在使用 OpenSSH version13在一个项目中。 然而时不时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 模块
。我建立了 SSH 连接,使用用户名和密码登录,然后执行一些命令并检查输出。这在大多数情况下都可以正常工作,但如前所述,连接时不时会失败。上面提供的输出可以在产品中看到,并且从 pexpect
抛出一个异常,它从产品接收到 EOF
(文件结束)(意味着连接可以不能设置)。这几乎是我得到的所有打印输出。我希望有人能理解为什么 OpenSSH 不想建立连接!
最佳答案
当 SSH 调试 (-v) 无法提供足够的输出时,我总是以 Debug模式启动 sshd 并直接从 sshd 控制台观察。它往往会就根本原因究竟是什么提供更多反馈。
关于c - OpenSSH 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13739224/