SSH (Secure Shell) ist ein praktische Methode um eine sichere Verbindung über ein unsicheres Medium, z.B. das Internet, zu anderen Computer herzustellen um diese fernzusteuern oder Daten zu übertragen. Jedoch gilt es auch hier gelegentliche einige Klippen in der Bedienung zu umschiffen. Im folgenden einige auf die ich in meinem Alltag als Administrator häufiger getroffen bin.
Umgang mit ssh in heterogenen Umgebungen
Manchmal, besonders in heterogenen Umgebung (Windows/Linux/MacOs/andere BSD), zeigt der Client einen anderen Key als der Server an, wenn man sich dort mittels ssh localhost versucht den Fingerprint anzeigen zu lassen.
Das kann daran u.a. daran liegen, dass der lokale Linux ssh-Befehl einen anderen Algorythmus verwendet als z.B. die installierte Version von putty auf dem Windows Client.
Verteilung der Fingerprints
Es ist daher praktischer den Key mittel ssh keygen auzulesen. Dazu legt man sich je Server mittels ssh-keygen eine Liste an Fingerprints an. Die Syntax für den Befehl ist: ssh-keygen -lf /path/to/ssh/key
z.B.
ssh-keygen -lf /etc/ssh/ssh_host_dsa_key.pub >/home/bloy/liste_Fingerprint_server1.txt ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub >>/home/bloy/liste_Fingerprint_server1.txt ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub >>/home/bloy/liste_Fingerprint_server1.txt ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub >>/home/bloy/liste_Fingerprint_server1.txt
Der erste Eintrag legt die Datei an, der zweite ergänzt jeweils die weiteren Fingerprints in die gleiche Datei.
Heraus kommt z.B.
1024 8e:5d:7e:86:c0:b4:04:4c:c4:b9:aa:9c:c2:27:ff:76 /etc/ssh/ssh_host_dsa_key.pub (DSA)
256 15:56:c4:51:94:cf:30:fd:70:e1:6b:e4:0c:79:d2:62 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)
256 23:7a:5f:ed:ff:fc:3e:56:5a:ae:bb:96:96:32:99:fd /etc/ssh/ssh_host_ed25519_key.pub (ED25519)
2048 aa:b9:09:aa:74:4f:bd:6c:94:e0:b5:6b:4d:59:19:e7 /etc/ssh/ssh_host_rsa_key.pub (RSA)
Neue ssh-Keys (und Fingerprints erzeugen)
Manchmal ist es sinnvoll die Keys auf einem System neu zu erstellen, dazu ein paar Anmerkungen
Debian
Zuerst löscht man alle alten Keys
rm /etc/ssh/ssh_host_*
Danach erzeugt man mittels
dpkg-reconfigure openssh-serve
neue Keys und natürlich auch Fingerprints.
Allgemein
Etwas allgemeiner kann man folgende Befehle nutzen um neue Schlüssel (und damit Fingerprints) zu erzeugen
ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key ssh-keygen -q -N "" -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
Aus praktischen Gründen kann ich die Befehle jedoch aktuell nicht testen.