Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获Python Paramiko中的AuthenticationException_Python_Ssh_Exception Handling_Try Catch_Paramiko - Fatal编程技术网

捕获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"