在远程主机上运行带有args的本地python脚本



我得到了一个python脚本,从中我使用ssh打开与不同主机的连接。在这个会话中,我试图运行另一个python脚本,其中有几个参数(该脚本在我的机器上,而不是在服务器上(,但这些参数把它搞砸了。它将参数链接到python解释器,而不是我的脚本。

我的代码如下:

ssh remotehost python2 < /path/to/script —-arg1 hello —-arg2 goodbye

我得到的错误是参数名称中每个字符的未知选项,例如:未知选项:---

未知选项:

未知选项:r

等等。。无论如何,我可以在传递参数时不出现此错误?我试着使用sys args,但我的论点有时是句子,它不能很好地解析它。。

要在不同的服务器上执行脚本,请使用paramiko连接并执行命令:

Import paramiko

client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host,port,user,password)

stdin, stdout, stderr = client.exec_command('python2 /path/to/script hello goodbye') 
client.close()

完整文档:http://docs.paramiko.org/en/stable/api/client.html

要在不同的服务器上运行本地脚本,请使用:

ssh user@machine python < script.py - arg1 arg2

请参阅在远程服务器上运行本地python脚本

最新更新