私はしばらくの間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)
そして、質問はありますか?あなたのparamikoバージョンは – Jakuje
ですか? – fernandezcuesta
質問は「同じsshd_configファイルでも、このエラーメッセージの原因は何ですか?」です。作業設定にparamiko 1.16.0があり、動作しない設定にparamiko 1.15.1があります。 –