我正在尝试使用以下命令使用python子进程ssh:
php artisan key:generate
我收到错误:
subprocess.Popen(["ssh", "-i %s/.ssh/anotherIdentity" % os.path.expanduser("~"), " user@%s" % host, command],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
身份文件出现在该位置, 这背后的原因可能是什么?
Python版本:Mac中的2.7.10
答案 0 :(得分:2)
中有一个额外的空间
subprocess.Popen(["ssh", "-i %s/.ssh/anotherIdentity" % os.path.expanduser("~"), " user@%s" % host, command],
所以如果我们在-i之后删除多余的空格,它就会起作用。正确用法:
subprocess.Popen(["ssh", "-i%s/.ssh/anotherIdentity" % os.path.expanduser("~"), " user@%s" % host, command],
或将-i
和参数分隔为不同的参数
subprocess.Popen(["ssh", "-i", "%s/.ssh/anotherIdentity" % os.path.expanduser("~"), " user@%s" % host, command],