Berny's Knowledgebase als Newsfeed

Key-Paar zur Autorisierung generieren

auf dem Client:

ssh-keygen -t rsa

Keys werden abgelegt in ~/.ssh/

Public Key auf die Server verteilen

ssh-copy-id [<username>@]<Servername>

Username muss nur dann angegeben werden, wenn er zwischen Client und Server verschieden ist. Oder anders: Wird der Parameter nicht angegeben, wird der Username verwendet, unter dem man gerade am lokalen System angemeldet ist.

SSH-Client-Konfiguration

User-spezifisch in ~/.ssh/config oder für alle User in /etc/ssh/ssh_config

Host horst1
        LocalForward 9091 localhost:9090       # Port Forwarding fuer genau einen Host
                                               # lokaler Port 9091 am Client wird umgeleitet auf
                                               # lokalen Port 9090 am Server
Host fritz1
        User booboo                            # Abweichender Username wird beim Login auf genau
                                               # diesen einen Host verwendet
Host franz*                                    # fuer alle Server, die auf das Pattern franz* passen
        User booboo

# generische Einstellungen immer zum Schluss, damit sie auch fuer alle ziehen und nur
# dann ueberschrieben werden, wenn bei einem spezifischerem Eintrag
# etwas abweichendes definiert ist

Host *                                         # fuer alle Hosts
        ForwardAgent yes                       # Agent-Forwarding
        ForwardX11 yes                         # X11-Forwarding

Details:

man ssh_config

Fingerprint für SSH-Key anzeigen

ssh-keygen -l -f <schlüsseldatei>

SSH known_hosts-Eintrag löschen wenn File in Hash-Darstellung

Problem:

Man möchte einen Eintrag aus ~/.ssh/known_hosts löschen, z. B. weil sich der SSH-Host-Key des Servers geändert hat oder weil der Server nicht mehr existiert. Die Datei ist aber im Hash-Format abgelegt, die einzelnen Einträge sind nicht im Klartext lesbar. Man weiß also nicht welche Zeile gelöscht werden muss.

Lösung:
ssh-keygen -R <hostname>
ssh-keygen -R <ip>

SSH Hostkey Fingerprints im DNS (SSHFP Records)

Um SSH Hostkeys sicher identifizieren zu können, wird dem User dessen Fingerprint angezeigt. Hilfreich kann es da sein, wenn dieser im DNS hinterlegt ist. Dazu sind SSHFP Records im DNS einzutragen. Wie diese zu erzeugen sind, steht unter https://web.archive.org/web/20100902215849/http://www.tutorialnut.com/index.php/2009/05/17/how-to-create-sshfp-dns-records/