Springe zum Inhalt

Umgang mit ssh (Tipps und Tricks)

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.