我一直在使用的paramiko了一段時間,一切都和預期一樣,但是當我搬出了我的測試環境中,我打開一個SSH會話的paramiko - 不兼容的SSH服務器(不接受MACS)
時得到這個錯誤paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)
追查到錯誤後,我注意到在我的遠程服務器上,我錯過了/etc/ssh/sshd_config
文件中的一些條目。無論是我的設置都互委會上市:
- HMAC-SHA1
- HMAC-MD5
- HMAC-SHA1-96
- HMAC-MD5-96
然而,它的工作原理在一個而不是另一個。什麼可能導致這個?我沒有保存任何一個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)
而問題是什麼? – Jakuje
這是你的paramiko版本? – fernandezcuesta
問題是「什麼導致此錯誤消息,即使使用相同的sshd_config文件?」工作設置有paramiko 1.16.0,非工作設置有paramiko 1.15.1 –