代码之家  ›  专栏  ›  技术社区  ›  user2301357

如何使用python将ssh连接到一台机器上,并在该机器上创建一个持久的python会话来发送一系列命令?

  •  0
  • user2301357  · 技术社区  · 6 年前

    我试过subacces.Popen('ssh…')、pexpect.spawn和pxsh.pxsh()。

    到目前为止,当我发送“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
    

    有道理?

    0 回复  |  直到 6 年前