【发布时间】:2012-05-21 22:56:24
【问题描述】:
我正在编写一个 SSH 命令行包装器,但我发现它不想以交互方式运行。
假设我确实有 ssh.py,它应该建立一个交互式 ssh 会话。
如果我跑步:
-
subprocess.open('ssh -t server')和p.wait(),我会得到一个错误:Pseudo-terminal will not be allocated because stdin is not a terminal. - 如果我尝试使用
-t -t强制它,它会阻塞。
注意:我真的需要一个交互式会话,因为我尝试使用screen 来恢复以前的连接。
我该如何解决这个问题?
注意:我不想以任何方式控制从 python 调用的 ssh。
【问题讨论】:
-
你看到这个相关问题的答案了吗:stackoverflow.com/questions/4664002/…
-
@jedwards 现在我做到了,但另一个没有提供问题的答案。
-
我应该在
bash中重新实现我的包装器吗?如果我打电话给bash,我没有同样的问题。不过,我更喜欢使用 python,因为在 bash 中执行相同的逻辑会......真的很丑。 -
“我不想以任何方式从 Python 控制调用的 ssh”到底是什么意思?使用底层操作系统生成 ssh 是否可以,但请查看 ssh 在 python 中的提示?
-
所以你基本上想要一个 Python 终端模拟器?