2016-08-16 6 views
0

Я хочу подключиться к сетевому устройству. Но в политике я должен сначала выполнить 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) 

ответ

0

Поскольку вы используете paramiko, используйте документацию здесь: https://pynet.twb-tech.com/blog/python/paramiko-ssh-part1.html. Это очень ясно.

Или вы также можете попробовать коды здесь для подключения:

ssh.connect('10.0.0.1', 'khangtt', str('12345')+str(otp), look_for_keys=False, allow_agent=False) 

Или

ssh.connect('10.0.0.1', 'khangtt', str('12345')+str(otp)) 

в случае, если вам не нужно искать ключи и позволяют агенту.

+0

Попробуйте установить политику ключа хоста: ssh.set_missing_host_key_policy ( paramiko.AutoAddPolicy()) – d3r1ck

+0

Вы также можете найти больше документации здесь: http://jessenoller.com/blog/2009/02/05/ssh-programming -с-paramiko-совершенно отличен – d3r1ck

Смежные вопросы