Die Alternative zu einem Einloggen über SSH mit Passwort ist das sichere SSH-Login/Einloggen ohne Passworteingabe mit Schlüsseln/Keys.
Basieren auf einem Public-Key-Verschlüsselungsverfahren erzeugt man auf einem System einen öffentlichen und einen privaten Schlüssel.
Die öffentlichen Schlüssel müssen dann auf das „remote“-System, also das zu steuernde System gebracht werden.
Auf einem UNIX-System erzeugt der Befehl ssh-keygen das entsprechende Schlüsselpaar:
id_rsa – den privaten Schlüssel
id_rsa.pub – den öffentlichen Schlüssel
Die Datei authorized_keys gehört nun auf das Remote-System in das gleiche Verzeichnis und beinhaltet den Text der Datei id_rsa.Pub – also den öffentlichen Schlüssel.
# more id_rsa.Pub >> authorized_keys |
Die Datei sieht dann so aus. Allerdings dann nur mit einem Key. Die anderen Keys stammen von anderen Systemen.
Beim nächsten Login auf das Remote-System fragt der Rechner noch, ob der Host in die known_Hosts eingetragen werden soll. Dann erfolgt ein Login ohne Eingabe des Passwortes automatisch ohne Passworteingabe.
Möchte man nun dieses System mit Putty von einem Windows-Rechner steuern, erzeugt man sich einen Key mit Putty und kopiert den öffentlichen Teil wieder in die „authorized_keys“.
Den privaten Key hinterlegt man dann in Putty an folgender Stelle.