没有真实性验证的python ssh

era*_*ran 3 python ssh

我正在这样的AWS机器上远程运行命令:

key = 'myPemFile.pem'
target = <machine_ip>
cmd = 'ssh -i ' + key + ' ubuntu@'+target+' "nohup myprog + ' >& /dev/null < /dev/null &" &'
proc = subprocess.Popen(cmd, shell=True,  stdout=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但是如果是第一次登录计算机,则会出现以下问题:

The authenticity of host '144.224.18.97 (144.224.18.97)' can't be established.
ECDSA key fingerprint is e2:4e:...:e3:73:07.
Are you sure you want to continue connecting (yes/no)
Run Code Online (Sandbox Code Playgroud)

如何从python中“输入”“是”,或者使用标志告诉ssh不要问这个问题?

vma*_*loc 5

尝试将-o StrictHostKeyChecking = no传递给ssh命令。

  • 需要注意的一件事:-o StrictHostKeyChecking =否(或是)将显示“错误的是/否/询问参数”。该值必须全部为小写。之前弄坏了我的一些脚本,所以我认为我会提到它,以防它对其他人有所帮助。 (3认同)