Das Problem: ssh dh-group1 Fehlermeldung
Eine ssh-Verbindung zu älteren (sicher nicht nur) Cisco-Komponenten scheitert von modernen Linux-Betriebssystemen aus (z.B. Ubuntu 16.04) daran, dass unsichere Key-Exchange-Algorithmen und Chiffrierungsverfahren aus dem openssh-Paket herausgenommen wurden.
Das äußert sich so:
Es gibt mehrere Möglichkeiten, dieses Problem zu umgehen – Du findest sie hier direkt im Anschluss:
Lösung 1: ssh-Aufruf mit Angabe des benötigten KexAlgorithms
Etwas sperrig zu tippen, aber immerhin……..klappts damit.
In diesem Beispiel habe ich vorsichtshalber den DSA public Key Algorithmus gleich mit enabled, der möglicherweise auch noch für Probleme sorgen könnte (HostKeyAlgorithms…):
Wenn Dir das Abtippen verständlicherweise zuviel wird, kannst Du versuchen, den Teil mit dem HostKeyAlgorithmus wegzulassen oder den gesamten Aufruf selbstverständlich schön in ein kleines wrapper-Skript einbauen.
Lösung 2: ~/.ssh/config
Die folgenden Zeilen würde die DSA-Cipher und den Key-Exchange-Algorithmus (Kex) diffie-hellman group1 verwendbar machen, indem sie in eine neue Datei namens config unter dem .ssh Verzeichnis im homedir des jewg. Users eingetragen werden:
KexAlgorithms +diffie-hellman-group1-sha1 HostKeyAlgorithms +ssh-dss
Auf die vielen weiteren Vorteile der config will ich nur auf Nachfrage näher eingehen. Allerdings gilt sie eben leider nur für den user, in dessen Home-Verzeichnis (~) sie steht.
Lösung 3: Update der Gegenstelle
Das Optimum besteht natürlich darin, die Serverseite dazu zu bringen, keine unsicheren Protokolle und Algorithmen zu verwenden. Dies sollte auch immer Ziel bleiben. Leider, aber verständlicherweise stellt irgendwann jeder Hersteller den Support für ältere Hardware ein, so dass ein Update nicht mehr möglich ist.
Eine Möglichkeit, an der Kommandozeile herauszufinden, was der eigene Client so unterstützt, findest Du hier:
ssh -Q cipher # Listet die unterstützten Cipher-Algorithmen ssh -Q mac # Listet die untestützten MACs oder Hashing-Algorithmen ssh -Q key # Listet die unterstützten public key Typen ssh -Q kex # Listet die unterstützten key exchange Algorithmen
Weiterführende Info zu diesem Thema gibt es auf der Webseite von OpenSSH unter Legacy.