[英]ssh session as python subprocess takes input but does not print it to stdout
我正在尝试使用python的cmd库创建具有有限命令的外壳。 我的一个要求是能够运行一个命令,该命令执行一个现有的Shell脚本,该脚本在远程计算机上打开ssh会话,并从那里允许用户与远程Shell进行交互,就好像它是常规的ssh会话一样。
简单地使用subprocess.Popen('[/ path / to / connect.sh]')至少可以很好地作为起点,除了一个问题。 您可以与远程shell进行交互,但是您输入的输入不会显示在stdout上...例如,您会在stdout上看到提示,但是当您键入'ls'时,您看不到它被键入,但是当您按返回它按预期工作。
我试图把我的头放在如何将输入输出到stdout并将其发送到远程ssh会话上。
编辑:不使用cmd的实际代码只是一行:
ssh_session = subprocess.Popen(['connect.sh'])
它是从扩展cmd.Cmd的类中的do_ *方法触发的。 我想我可能最终会使用paramiko,但仍会对任何人对此的投入感兴趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.