【发布时间】:2017-02-07 15:41:10
【问题描述】:
我如何ssh 使用Popen 在遇到此问题时默认回答是?
The authenticity of host '`XXXXX`' can't be established.
ECDSA key fingerprint is SHA256:LA2RqbdzD8Uxgi36KWOM12giS9T+ceOQYhYjVKReMks.
Are you sure you want to continue connecting (yes/no)?
这就是我正在尝试的
for IP in ['10.32.253.250']:
remoteCall = subprocess.Popen(["ssh", "co_user@"+IP, "sudo svstat /etc/sv/nagios_CheckDisk_Alertz_daemon",], stdout=subprocess.PIPE, stderr=subprocess.PIPE);
Response, err = remoteCall.communicate()
if(re.search("authenticity of host", Response)):
stdin.write('yes')
print IP + " " +Response
【问题讨论】:
-
您应该使用
pexpect或专用的ssh 客户端,例如paramiko。 -
不,不能使用 paramiko 等外部模块
-
No it's not possible to use ...- 为什么不呢? -
我会在我的本地尝试这个。但我在想我是否必须在我可能无权安装外部模块的外部盒子中运行这个脚本。另外,我可以接受多个答案?
标签: python ssh subprocess popen