Я новичок в python, в некоторых случаях я пишу скрипт для IP-адреса устройства «теленет» и SSH username@deviceIp, если telnet не работает.
Для всех IP-адресов Telnet он работает отлично. Но когда я делаю «ssh [email protected]», приведенный ниже код дает сбой, и я получаю ошибку в самом блоке 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 у меня есть код ниже, который работает с импортом telnetlib
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