Я новичок в python, в некоторых случаях я пишу скрипт для IP-адреса устройства 'telenet' и SSH username @ deviceIp, если telnet faiils ..
Для всех IP-адресов Telnet это работает отлично. Но когда я делаю "ssh admin@153.88.127.21", приведенный ниже код завершается ошибкой, и я получаю ошибку в самом блоке try, например "socket.error" для устройств ssh.
Я хочу, чтобы устройства ssh входили в блок else, если telnet Ip не работает в блоке try.
В моем файле Main.py
try:
#TELNET MODULE CALL
tn= _telnetMOD._telnet(username, password, device)
break
else:
#SSH MODULE CALL
ssh= _sshMOD._ssh(username, password, device)
В файле _telnetMod у меня есть код, который работает ниже
импорт телнетлиб
def _telnet(_userVar,_passwordVAR, _device):
tn=''
tn = telnetlib.Telnet(_device,23)
#PYTHON VERSION 2.6 AND HIGHER
tn.read_until("Username: ",10)
tn.write(_userVar + "\r")
if _passwordVAR:
tn.read_until("Password: ",10)
tn.write(_passwordVAR + "\r")
return tn
В файле _sshMOD у меня есть код, который не работает и не уверен в коде ниже
import paramiko
def _ssh(_userVar,_passwordVAR, _device):
ssh=''
ssh= paramiko.SSHClient()
ssh.connect(_device, username=_userVar,password=_passwordVAR)
return ssh