2012-08-30 4 views
0

저는 파이썬 Paramiko를 사용하여 vps 공급자가 호스트하는 원격 우분투 상자에 ssh를 사용하여 연결합니다. 다음과 같이 윈도우 7 기반 클라이언트 컴퓨터를 사용하여, 나는 연결할 수 있어요 :Python Paramiko : SSH 호스트 키 지문을 수동으로 확인하는 중

import paramiko 
import binascii 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect(hostname='HOSTNAME', username='USERNAME', password='PASSWORD') 

이 모두 훌륭하지만 지금은 호스트 서버의 ID를 확인하려면 내가 창문에이기 때문에, Paramiko는하지 않습니다 known_hosts 파일이나 그와 비슷한 것을 가져올 수 있어야합니다.

#... after connection is successful 
keys = ssh.get_host_keys() 
key = keys['HOSTNAME']['ssh-rsa'] 
print binascii.hexlify(key.get_fingerprint()) 
# key.get_fingerprint() returns the md5 hash of 
# the public part of the key (whatever that means) 

다음과 유사한 출력을주고있다 :

a42273f83e62d65cc87231a2ba33eff3 

이 건은 RSA와 DSA 키 지문이 나와 호스트 내 VPS 제공자의의 cPanel에, 내가 한되어 다음 코드를 시도

RSA 1b:c2:f4:8f:f2:86:fc:f2:96:ba:cc:24:41:e9:d7:86 
DSA 36:b9:1f:ad:53:b5:c4:38:78:bf:cb:9d:38:fa:44:ce 

과 같은 것으로, 지문 중 어느 것도 생성 된 것과 일치하지 않습니다. 수동으로 생성 된 지문을 원격 호스트의 cpanel에있는 지문 값과 어떻게 비교할 수 있습니까? 내가 옳은 일을하고 있니?

답변

0

해결되었지만 제어판에 표시되는 RSA 키 지문이 VPS 호스트가 아닌 것으로 확인되었습니다. 이는 대역 외 특수 콘솔 용입니다. VPS 호스트의 실제 키는 /etc/ssh/ssh_host_rsa_key.pub에 있으며 지문 값 (MD5 해시)은 정확히 클라이언트 측 인증 코드에서 얻은 값입니다. 그래서 아무 문제도 없었습니다.