2016-10-11 1 views
0

파이썬 3.5에서 ssh를 사용하여 서버에서 텍스트 파일을 읽으려고합니다. Paramiko를 사용하여 서버에 연결하고 있지만 불행히도 실제로 서버에 연결하는 데 문제가 있습니다. ssh connection in python

누군가가 내가 '무엇을 볼 수있는, 내가 서버

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect('IP ADDRESS OF THE SERVER', key_filename="/home/user/.ssh/id_ecdsa" ,look_for_keys=True) 

하지만 난 인증 실패 오류 메시지가지고있어 서버에 연결하려고 할 때마다에 연결하는 데 사용하고 코드입니다 여기서 잘못하고있는거야? 조언을 제공해 주시면 감사하겠습니다.

연결될 때마다 오류가 발생합니다.

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/usr/local/lib/python3.5/site-packages/paramiko/client.py", line 380, in connect 
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host) 
File "/usr/local/lib/python3.5/site-packages/paramiko/client.py", line 603, in _auth 
raise saved_exception 
File "/usr/local/lib/python3.5/site-packages/paramiko/client.py", line 580, in _auth 
allowed_types = set(self._transport.auth_publickey(username, key)) 
File "/usr/local/lib/python3.5/site-packages/paramiko/transport.py", line 1331, in auth_publickey 
return self.auth_handler.wait_for_response(my_event) 
File "/usr/local/lib/python3.5/site-packages/paramiko/auth_handler.py", line 208, in wait_for_response 
raise e 
paramiko.ssh_exception.AuthenticationException: Authentication failed. 
+0

오류 메시지가 표시 될 수 있습니까? – MatejMecka

답변

2

당신은 원격 서버에 연결하기 개인 키를 사용해야합니다. 공개 키는 서버 측에 이미 설치되어 있어야합니다. 즉, ~/.ssh/authorized_keys에 나열되어야합니다.

먼저 명령 줄에서 시도한 다음 Python/paramiko 만 사용하십시오. 모두 실패한 경우 파일/디렉토리의 권한을 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 공용 키를 서버의 인증 된 키에 추가했으며 명령 줄에서 정상적으로 연결할 수 있습니다. 파일의 권한과 소유자, 파일이있는 폴더 및 모든 것이 올바른지 확인했습니다. 내 개인 키를 가리 키도록 key_filename을 변경했으나 인증 실패 오류 메시지가 계속 나타납니다. – noobCoder

0

밝혀졌습니다. 나는 단지 연결 문자열에 사용자 이름을 추가하는 것을 잊었습니다. 이제 완벽하게 작동합니다.