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
。
谁能建议我任何其他方法来不破坏脚本并只显示错误?
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"