0

每次我尝试使用 winpexpect 来生成终端(例如:openssh,ssh)。如果我这样做winpexpect.winspawn('ssh ...'),我会遇到“不会分配伪终端,因为标准输入不是终端。”。如果我强制使用终端,winpexpect.winspawn('ssh -t -t ...')那么即使 ssh 客户端真的连接到服务器,我的读取缓冲区也不会得到任何信息。其他交互式终端也是如此,它们只是挂起,读取缓冲区中没有任何显示。但是对于终端的命令,例如pingwinpexpect 有效。

我发现真正起作用的是使用 putty 的 plink.exe winpexpect.winspawn('plink ...',. 这与 putty.exe 相同,但它不进行终端仿真,我只获取原始 telnet/解密的 ssh 数据。然而,这并不是真正理想的解决方案。

我真的很困惑如何让一个 spawner/expect 库与 Windows 上的终端一起工作!我什至尝试过使用expectJ,只是纯Java,这也有同样的问题。

4

1 回答 1

0

winpexpect/plink 有什么问题?您可以尝试分叉的winpexpect,它修复了 winpexpect-1.5 上的许多问题

于 2012-10-11T07:31:49.840 回答