首页 > 解决方案 > 如何使用 python ssh 进入一台机器并在该机器上创建一个持久的 python 会话以发送一系列命令?

问题描述

我已经尝试过 subprocces.Popen('ssh...') 和 pexpect.spawn 和 pxssh.pxssh()。

到目前为止,当我发送“python -i”命令时,我尝试过的一切似乎都卡住了。我认为这是因为它正在启动一个不会终止的进程?

我真的很想创建一个持久对象,以便我可以发送可以在远程机器上执行的 python 命令。

这应该是可能的吧?

编辑代码示例:

以下作品:

from pexpect import pxssh

s = pxssh.pxssh(timeout=None)
s.login(hostname, username, password)
s.sendline('python -c "import somelibrary;somelibrary.call_function()"')
s.prompt()
print s.before

但是这个调用永远不会返回:

from pexpect import pxssh

s = pxssh.pxssh(timeout=None)
s.login(hostname, username, password)
s.sendline('python')
s.prompt()
print s.before

我想在目标机器上打开一个 python 会话,这样我就可以导入库一次,然后发送后续命令并获取输出

说得通?

标签: pythonsshpexpect

解决方案


推荐阅读