import paramiko
host='x.x.x.x'
port=22
username='root'
password='password'
cmd='dmidecode > a'
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host,port,username,password)
try:
stdin,stdout,stderr=ssh.exec_command(cmd)
outlines=stdout.readlines()
resp=''.join(outlines)
print(resp)
except paramiko.AuthenticationException as error:
print "ERROR"
我无法抓住AuthenticationException
。
有人可以建议我采取其他任何方式不破坏脚本,而只显示错误吗?
答案 0 :(得分:1)
AuthenticationException
发生在SSHClient.connect
:
提升:
AuthenticationException
–如果身份验证失败
您的SSHClient.connect
通话不在您的try
区块中。
这应该有效:
try:
ssh.connect(host,port,username,password)
stdin,stdout,stderr=ssh.exec_command(cmd)
outlines=stdout.readlines()
resp=''.join(outlines)
print(resp)
except paramiko.AuthenticationException as error:
print "ERROR"