当ssh密码不正确时pxssh中断

时间:2015-06-28 05:48:41

标签: python ssh

我正在尝试使用pxssh lib

连接到python中的ssh服务器
#!/usr/bin/python

import pxssh

attempt = pxssh.pxssh()

if not attempt.login(IP, USERNAME, PASSWORD):

    print("SSH LOGIN FAILED USING USERNAME : " + USERNAME + " AND PASSWORD : " + PASSWORD)

else:

    print("LOGIN WAS SUCCESSFUL USING USERNAME : " + USERNAME + " AND PASSWORD : " + PASSWORD)

    attempt.sendline("pwd")

    attempt.prompt()

    print attempt.before

break

当密码正确并登录到服务器并执行

时,它可以正常工作
pwd

但是当密码不正确或登录因任何原因导致程序中断时,我希望这样:

print("SSH LOGIN FAILED USING USERNAME : " + USERNAME + " AND PASSWORD : " + PASSWORD)

但我得到了这个错误:

  File "./ssh.py", line 19, in <module>
    if not attempt.login(IP, USERNAME, PASSWORD):
  File "/usr/lib/python2.7/dist-packages/pexpect/pxssh.py", line 292, in login
    raise ExceptionPxssh ('password refused')
pexpect.pxssh.ExceptionPxssh: password refused

1 个答案:

答案 0 :(得分:0)

如果在密码不正确时引发异常,则必须捕获异常而不是依赖返回值。

在处理潜在的错误条件时,返回值和异常是两种截然不同的范例。

关于如何捕获异常,请参阅https://docs.python.org/3.5/tutorial/errors.html以获取规范指南。