2017-10-14 1 views
1

: 나는 지역 서버 A에있을 때는Paramiko도 load_system_host_keys와 ssh 연결을 열 수 없습니다 + WarningPolicy 나는 다음과 같은 코드를 사용하여 원격 서버에 연결하고

ssh = paramiko.SSHClient() 
ssh.load_system_host_keys() 
ssh.set_missing_host_key_policy(paramiko.WarningPolicy()) 
ssh.connect(
    hostname=settings.HOSTNAME, 
    port=settings.PORT, 
    username=settings.USERNAME, 
) 

, 나는로부터 원격에 ssh를 수 명령 줄은 known_hosts에 있음을 나타냅니다. 그리고 코드는 예상대로 작동합니다.

로컬 서버 B에서는 명령 줄에서 원격으로 ssh를 실행할 수도 있습니다. 나는 위의 코드를 사용하려고 할 때 내가 얻을 :

" SSH - Python with paramiko issue"나는 load_system_host_keys과 WarningPolicy 모두를 사용하고, 그래서 프로그래밍 방식 암호 나 키를 추가 할 필요가 없습니다 (그리고 나는 필요없는 달리
/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py:763: UserWarning: Unknown ssh host key for [hostname]:22: b'12345' 
    key.get_fingerprint()))) 

... 

    File "/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py", line 416, in connect 
    look_for_keys, gss_auth, gss_kex, gss_deleg_creds, t.gss_host, 
    File "/opt/mysite/virtualenv/lib/python3.5/site-packages/paramiko/client.py", line 702, in _auth 
    raise SSHException('No authentication methods available') 
paramiko.ssh_exception.SSHException: No authentication methods available 

로컬 서버 A에).

놓친 시스템 구성 단계가 있습니까?

답변

0

로컬 서버 B에서 잘못된 사용자로 테스트했습니다. 파이썬 프로세스를 실행하는 사용자에게는 결국 ssh 권한이 없었습니다. (명령 행 ssh가 해당 사용자에게 실패했습니다.) 일단 권한을 부여하면 연결이 예상대로 작동했습니다.

관련 문제