【发布时间】:2018-07-04 15:16:26
【问题描述】:
我有下面的脚本(1.1.1.1 上的test.py)在另一台服务器上运行另一个远程脚本(script.py 上2.2.2.2)。我已经设置了 ssh 密钥,所以不会提示我输入密码。
import subprocess
USER="user"
SERVER_IP="2.2.2.2"
SCRIPT_PATH="/home/abc/script.py"
print ("ssh {0}@{1} '/usr/bin/python {2} aaa bbb'".format(USER, SERVER_IP, SCRIPT_PATH))
rc = subprocess.check_output("ssh {0}@{1} '/usr/bin/python {2} aaa bbb'".format(USER, SERVER_IP, SCRIPT_PATH))
script.py 本身在 1.2.3.4 上,并接受 2 个参数。
如果我复制脚本中打印出来的命令,我可以在1.1.1.1上成功执行script.py。但是在1.1.1.1 上运行test.py 会给我一个错误:
OSError: [Errno 2] No such file or directory
我不明白为什么脚本不起作用,但完全相同的命令自己起作用。
【问题讨论】: