2010-09-11 80 views
4

我想从Python脚本启动交互式SSH终端使用像pexpect或paramiko这样的模块 - 我想坚持CentOS预装Python提供给我的东西兼容性和部署问题)。从Python脚本启动交互式SSH会话

我可以使用子流程模块运行命令,但无法获得交互式终端。在Perl中,我只是使用反引号来实现这一点,但我正在寻找pythonic这样做的方式。

有人能指出我正确的方向吗?

UPDATE - 基于@ leoluk的答案,我用从docs.python.org说明拿出:subprocess.call("ssh ...", shell=True)

回答

6

我得到一个交互式终端,如果我用os.system('ssh [...]')

+0

混合交互使用说明来使用os.system转换为POPEN,我能够使其工作。 – sholsapp 2010-09-11 20:00:50

+0

@sholsapp您可以使用Popen分享您的解决方案吗?谢谢! – mart1n 2016-04-07 08:48:20

+0

@ mart1n我已经更新了这个问题,以使用基于https://docs.python.org/2/library/subprocess.html#replacing-os-system指令取代'os的代码。 system'。 – sholsapp 2016-04-07 18:27:03

-1

,如果你愿意,你可以使用pexpext与自动响应

http://www.noah.org/wiki/Pexpect

+0

-1没有任何评论?这个答案有什么问题? – Falmarri 2010-09-12 03:41:54

+1

OP确实说过他/他不想用pexpect! – snim2 2013-03-11 11:47:01