2016-04-12 2 views
0

Ich habe Paramiko schon eine Weile benutzt und alles hat wie erwartet funktioniert, aber als ich meine Testumgebung verlassen habe, habe ich diesen Fehler beim Öffnen einer SSH-SitzungParamiko - Inkompatibler SSH-Server (keine akzeptablen macs)

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

Nach der Suche nach dem Fehler, habe ich festgestellt, dass auf meinem Remote-Server einige Einträge in meiner /etc/ssh/sshd_config Datei fehlen. Keines meiner Setups haben diese MACs aufgeführt:

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

aber es funktioniert in einer und nicht in der anderen. Was könnte das verursachen? Ich habe keine RSA-Schlüssel in einem der beiden gespeichert (Remote-Server erlaubt nicht zum Schreiben).

Remote-Server 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) 

Links Ich habe verwiesen:

Python - Paramiko - incompatible ssh server

paramiko Incompatible ssh peer (no acceptable kex algorithm)

+0

Und die Frage ist? – Jakuje

+0

Welches ist Ihre Paramiko-Version? – fernandezcuesta

+0

Die Frage ist "Was verursacht diese Fehlermeldung, auch mit der gleichen sshd_config-Datei?" Das funktionierende Setup hat paramiko 1.16.0 und das nicht funktionierende Setup paramiko 1.15.1 –

Antwort

3

Aus irgendeinem Grund würde sich paramiko1.15.1 über inkompatible MACs beschweren. paramiko1.16.0 nicht. Dies wurde behoben, indem 1.16.0-Dateien an den Installationsort kopiert wurden.

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

Changelog für paramiko Versionen sind hier zu finden: http://www.paramiko.org/changelog.html

+0

Ja, der Grund ist, dass 'hmac-sha2- *' Unterstützung in 1.16 hinzugefügt wurde (siehe Feature # 356 im obigen Link) – fernandezcuesta