Ältere HP Switches oder andere embedded-Systeme sprechen schon mal kein aktuelles SSH und aus Sicherheitsgründen lehnt der Default SSH-Client die Verbindung ab. Es gibt eine ganze Menge Key-Exchange-Methoden, die mittlerweile veraltet sind oder als unsicher gelten.
Der entscheidende Teil ist dabei der Letzte, der Angibt, welche Verfahren der Server anbietet:
Unable to negotiate with SWITCH.EXAMPLE.COM port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1
Denn man muss seinem SSH-Client nur noch beibringen, dass dieser das für diese Verbindung akzeptieren soll.
Lösung
SSH versteht mit dem Parameter -o
die „optionalen“ Verfahren für die Verbindung:
ssh -o KexAlgorithms=diffe-hellman-group14-sha1 [email protected]
Je nach Switch (=SSH-Server) einfach das passende Verfahren benennen, fertig.
Passiert das häufiger, also verbindet man sich öfter mit diesem Gerät, kann (sollte) man die passende Konfiguration in seine ~/.ssh/config
eintragen:
Host SWITCH.EXAMPLE.COM
Ciphers 3des-cbc
KexAlgorithms +diffie-hellman-group14-sha1
User administrator