Я хочу подключиться к сетевому устройству. Но в политике я должен сначала выполнить ssh на сервере терминалов, а затем из этого, ssh на сетевое устройство. В Python, я использую Paramiko:Создать сеанс SSH подключиться к устройству через сервер терминалов
import paramiko
ssh = paramiko.SSHClient()
print("OTP : ")
otp = raw_input()
ssh.port=9922
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.load_system_host_keys()
ssh.connect('10.0.0.1',9922,username='khangtt',password=str('12345')+str(otp))
stdin, stdout, stderr = ssh.exec_command('whoami')
stdin.close()
for line in stdout.read().splitlines():
print(line)
Подключение к серверу успешно, я могу видеть мое имя пользователя на выходе. Но я не знаю, как SSH для устройства. Я использовал это, но ничего не случится, чтобы установить ввод данных пользователем/пасс:
stdin, stdout, stderr = ssh.exec_command('telnet 10.80.1.120')
stdin.close()
for line in stdout.read().splitlines():
print(line)
Попробуйте установить политику ключа хоста: ssh.set_missing_host_key_policy ( paramiko.AutoAddPolicy()) – d3r1ck
Вы также можете найти больше документации здесь: http://jessenoller.com/blog/2009/02/05/ssh-programming -с-paramiko-совершенно отличен – d3r1ck