2016-04-12 6 views
0

私はしばらくの間paramikoを使用していましたが、すべてが期待通りに機能しましたが、テスト環境から移動したときにsshセッションを開くときにこのエラーが発生しましたParamiko - 互換性のないSSHサーバー(許容可能なMacはありません)

paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs) 

エラーをトレースした後、私は自分のリモートサーバー上で私の/etc/ssh/sshd_configファイルにいくつかのエントリがないことに気付きました。しかし、それが動作

  • HMAC-SHA1
  • HMAC-MD5
  • HMAC-SHA1-96
  • HMAC-MD5-96

:私のセットアップのどちらも記載されているこれらのMACを持っています一方は他方ではない。これを引き起こす原因は何ですか?私はいずれかに保存されたRSAキーを持っていません(リモートサーバーは書き込みを許可しません)。私が参照されてきた

リモートサーバーのsshd_config

# 
# Allow Ciphers and MACs 
# 
Ciphers aes256-ctr,aes192-ctr,aes128-ctr,arcfour256,arcfour128 
MACs [email protected],hmac-ripemd160,hmac-sha2-512,hmac-sha2-256 

RemoteAccess.py

class RemoteAccess(): 
    def __init__(self, host="abc123", username="abc", password="123"): 
     self.name = host 
     self.client = paramiko.SSHClient() 
     self.client.load_system_host_keys() 
     self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
     self.client.connect(host, username=username, password=password) 

リンク:

Python - Paramiko - incompatible ssh server

paramiko Incompatible ssh peer (no acceptable kex algorithm)

+0

そして、質問はありますか?あなたのparamikoバージョンは – Jakuje

+0

ですか? – fernandezcuesta

+0

質問は「同じsshd_configファイルでも、このエラーメッセージの原因は何ですか?」です。作業設定にparamiko 1.16.0があり、動作しない設定にparamiko 1.15.1があります。 –

答えて

3

何らかの理由で、paramiko1.15.1が互換性のないMACについて不満を持ちます。 paramiko1.16.0はしませんでした。これは、1.16.0ファイルをインストール場所にコピーすることで修正されました。 paramikoバージョンの

/usr/lib/python2.7/site-packages/paramiko 

変更履歴がここで見つけることができます: http://www.paramiko.org/changelog.html

+0

はい、1.16に 'hmac-sha2- *'のサポートが追加されています(上記リンクのFeature#356を参照してください) – fernandezcuesta

関連する問題