Aus Sicherheitsgründen sind bei SSH bestimmte Algorithmen deaktiviert. Wenn man nun z.B. alte Netzwerkhardware rumliegen hat, auf die erst mal ein Firmwareupdate drauf muss, scheitert es schon daran, dass man nicht mal mehr per SSH drauf kommt.
Ein möglicher Fehler kann sein, dass der Typ des Host-Schlüssels nicht mehr unterstützt wird.
Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-dss
Die Fehlermeldung sagt es schon, hier müssen wir ssh-dss wieder aktivieren. Das geht entweder einmalig
ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.1.1
oder dauerhaft in der ~/.ssh/config
, falls sich der Host nicht updaten lässt:
Host 192.168.1.1 HostKeyAlgorithms=+ssh-dss
Eine weitere Problemquelle ist die Verschlüsselung selbst:
Unable to negotiate with 192.168.1.2 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
Auch hier kann man wieder direkt in der Kommandozeile oder in der Konfiguration Abhilfe schaffen.
ssh -c aes256-cbc root@192.168.1.2
bzw.
Host 192.168.1.2 Ciphers +aes256-cbc
Netzwerk-Appliances mit veralteten Ciphern, Auth-Keys und Message authentication besser nicht mehr von aussen erreichbar machen, sondern hinter einem SSH-Gateway verstecken. Mit der jumphost-Option in OpenSSH bereitet eine Verbindung im Alltag nur wenig Zusatzaufwand.
Das ist klar. Aber irgendwie muss man ja trotzdem erst mal draufkommen. Aber wie ich eingangs gesagt habe. Wenn man das Firmware-Update installiert hat, ist i.d.R. ja auch der SSH stack wieder aktuell. Wenn das nicht möglich ist, würde ich die Kiste nicht mehr einsetzen.