我正在尝试使用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
答案 0 :(得分:0)
如果在密码不正确时引发异常,则必须捕获异常而不是依赖返回值。
在处理潜在的错误条件时,返回值和异常是两种截然不同的范例。
关于如何捕获异常,请参阅https://docs.python.org/3.5/tutorial/errors.html以获取规范指南。