2016-10-11 5 views
0

私は、python 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

私は、単に接続文字列のユーザー名を追加するのを忘れてしまった。今は完璧に動作します。