2016-08-16 2 views
0

네트워크 장치에 연결하고 싶습니다. 하지만 out 정책에서는 터미널 서버에 먼저 ssh를 연결해야합니다. 그런 다음 ssh를 네트워크 장치에 연결해야합니다. 파이썬에서는 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하는 방법을 모른다. 나는이 아무것도하지만 입력 사용자를 설정하는 일이 사용/통과 : https://pynet.twb-tech.com/blog/python/paramiko-ssh-part1.html :

stdin, stdout, stderr = ssh.exec_command('telnet 10.80.1.120') 
stdin.close() 
for line in stdout.read().splitlines(): 
    print(line) 

답변

0

당신이 paramiko을 사용하고 있기 때문에이 여기 설명서를 사용합니다. 그것의 아주 명백한.

또는 당신은 또한 연결 여기에 코드를 시도 할 수 있습니다 : 경우에

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 -와 - 파라 미코 - 완전히 다른 – d3r1ck