ssh 密码错误时 pxssh 中断
pxssh Breaks When ssh Password Is Incorrect
我正在尝试使用 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
如果它在密码不正确时引发异常,那么您必须捕获异常而不是依赖 return 值。
Return值和异常是处理潜在错误条件的两种完全不同的范例。
关于如何捕获异常,请参阅 https://docs.python.org/3.5/tutorial/errors.html 规范指南。
我正在尝试使用 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
如果它在密码不正确时引发异常,那么您必须捕获异常而不是依赖 return 值。
Return值和异常是处理潜在错误条件的两种完全不同的范例。
关于如何捕获异常,请参阅 https://docs.python.org/3.5/tutorial/errors.html 规范指南。