捕获Python Paramiko中的AuthenticationException
我无法捕获捕获Python Paramiko中的AuthenticationException,python,ssh,exception-handling,try-catch,paramiko,Python,Ssh,Exception Handling,Try Catch,Paramiko,我无法捕获身份验证异常。 有人能给我建议其他方法不破坏脚本,只显示错误吗 发生在: 引发:–如果身份验证失败 您的SSHClient.connect调用不在try块中 这应该起作用: 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
身份验证异常
。
有人能给我建议其他方法不破坏脚本,只显示错误吗 发生在:
引发:–如果身份验证失败
您的SSHClient.connect
调用不在try
块中
这应该起作用:
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"
发布回溯错误可能会有所帮助。另外,我建议将stdin、stdout、stderr=ssh.exec_command(cmd)放在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"