【问题标题】:Paramiko with subprocess带有子进程的 Paramiko
【发布时间】:2019-09-26 07:28:12
【问题描述】:

我想在远程服务器上运行一个程序,并使用 subprocess 和 Paramiko 从我的计算机向它发送命令。下面有用吗?

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='user', password="password")
myprogramme = subprocess.Popen("myprogramme.exe", stdin=subprocess.PIPE)
myprogramme.stdin.write(ssh_stdout.read())
myprogramme.communicate("some_inputs\n")
myprogramme.kill

【问题讨论】:

    标签: python ssh subprocess paramiko


    【解决方案1】:

    您不能使用subprocess 通过 SSH 在远程服务器上运行程序。

    使用SSHClient.exec_command 执行您的命令。

    然后您可以使用返回的 stdin:
    Pass input/variables to command/script over SSH using Python Paramiko 将您的命令提供给进程

    【讨论】: