Wer häufig per SSH auf anderen Rechnern arbeitet, muss viele Kennwörter im Kopf haben und in die Tastatur tippen. Mit der Zeit wächst der Wunsch nach Erleichterung... Abhilfe schafft die automatische Authentifizierung per SSH mittels öffentlichen Schlüsseln.

So wird's gemacht:

Zunächst wird ein SSH-Schlüsselpaar erzeugt:
ssh-keygen -t rsa
oder:
ssh-keygen -t dsa

Nach der Eingabe eines längeren Kennwortes oder eines Satzes (engl. Passphrase) werden in ~/.ssh/ die Dateien id_rsa und id_rsa.pub erzeugt.
Nun kopiert man die Datei id_rsa.pub mittels scp in das ~/.ssh/ des Rechners, auf den man sich automatisch einloggen lassen möchte, und nennt die Datei dort authorized_keys2 bzw. erweitert eine vorhandene Datei entsprechend:
cat id_rsa.pub >> authorized_keys2

Beim nächsten Login wird nicht mehr das bisherige Login-Passwort abgefragt, dafür allerdings das SSH-Kennwort.
Alternativ verzichtet man auf die Eingabe eines Passwortes und kann ganz ohne Interaktion eine SSH-Verbindung aufbauen.
Dies ist zwar deutlich unsicherer (sollte man auf keine Fall mit einem root-Account machen), aber sehr praktisch bei automatisierten Dingen, wie Mirrors, Backups, Replikationen, etc.

SSH-Agent

Ein anderer Ansatz, als auf das SSH-Passwort zu verzichten, ist ein sogenannter SSH-Agent.. Dieser wartet, nachdem das SSH-Kennwort beim Rechnerstart einmal abgefragt wurde, auf bevorstehende SSH-Logins und kümmert sich um die Authentifizierung, damit der Nutzer nichts mehr machen muss.

Windows:

Für Windows-SSH-Clients (z.B. Putty & WinSCP3) kann man den Putty-Keygen nutzen um die Schlüsselpaare zu erzeugen.
U.a. ist im Putty-Paket auch ein SSH-Agent.

Kategorien:

Stichwörter:

ssh · rsa · authentifizierung · passwort · password · login · zertifikat · agent · putty ·