Key-Login (OpenSSH)
Normaler Login mit Passwort
Login per SSH auf einem Rechner funktioniert normalerweise mit Passwortabfrage, d.h. der User wird nach seinem Passwort gefragt, welches in der /etc/shadow gespeichert wird und welches PAM verwaltet.
Häufige Logins
Das ist v.a. dann wenn man sich häufiger irgendwo einloggen will, sehr unpraktisch. Ebenso für cronjobs müssen interaktive Abfragen vermieden werden. Nun soll das Verfahren aber trotz alledem sicher sein und aus diesem Grund SSH Authentifizierung durch einen Schlüssel. D.h. der User legt sich einen Schlüssel; dieser Schlüssel besteht aus zwei Teilen, einem privaten und einem öffentlichen. Der öffentliche Schlüssel wandert nun auf den Server. Wenn nun der User ssh hostname aufruft, überprüft sshd ob es einen passenden Key gibt, wenn ja, wird überprüft ob der Anfragende den passenden privaten Schlüssel besitzt.
Login per Key
Schlüssel anlegen (4096 Bit)
Da der Schlüssel recht lang ist, dauert es möglicherweise ein bisschen also immer schön Geduld haben. Wichtig ist auch, dass ihr kein Passwort angebt, sonst habt ihr zwar Authentifizierung über einen Key aber eben über einen mit Passwort:
ssh-keygen -b 4096 -t rsa
Den autorisierten Schlüsseln hinzufügen
cat ~/.ssh/id_rsa.pub | ssh remotehost "cat >> ~/.ssh/authorized_keys"
Für Windows (Putty)
Zuerst benötigt man hierzu das Programm puttygen.exe und putty.exe (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
Schlüssel anlegen (4096 Bit)
Den Schlüssel generiert man nun mit dem Tool puttygen.exe (nicht vergessen unten rechts 4096 Bit einzutragen). Da dieses Tool selbsterklärend sein sollte werde ich es nicht weiter behandeln. Die beiden Schlüssel (privat und public) müssen nun - ohne die Angabe eines Passwortes - an einem "sicheren Ort" gespeichert werden.
Den autorisierten Schlüssel hinzufügen ;-)
Einfach den Schlüssel mit dem Programm deiner Wahl auf den Keks laden und danach mit dem Editor deiner Wahl bearbeiten, dass er hinterher so aussieht:
vorher:
BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20050628" AAAAB3NzaC1yc2EAAAABJQAAAgEAysrH3U3QLAs7IEys47SuA6CPAVzviJT3R6ab jTtZKk3nXPUtbLRPrfpsjo2Rl64kqLmddyZey0ea5vU/hamLAms6DCUL21O/OPQd AJcbm+vWKhuD0LZCRWGwHSfLEvsWIuvYDWo/Bkm35mX5Ntq75S4sSEQINJ3NQprd c1eH7hEVwvJGJK394j1d8I0NS2WncCqBo1Z+pD2Fqh6xFkS/7bRGi9dY/Ijdy1Mh q6CxW2yeV9iyavbXvONfPDEj1NFnrr4X+phRf1Hm6wVfH9ARVixDpN1La0WXDKaN ZiZAgFBf+bIXKyFajRI8FaiIwKTFaomCFeARPdJHWiefvFg4MYFKML4cngvrzG/8 l2FJ7tSVTPCxcpkpfd7OvppXMZGauwKKfytBDoUjoP66c+6L1frh0rGzArXMt1OV AZDg5tQhuGe6Sa0touM5BSkPZoMosYxGXlrPfDSIhjmMTPIGrNkXAOEWYM2fGwXM 7Zl7s5i6abfkjXn1CYdihKDWVQIaj0EKe4yNC6sTBvSCCLIFBNYhnOaXDljbh0Fm 1dT4xfUvCzu3RXbFkSxvdfNWiPcPGy+TdIDEKbaLy4W0r3KzylmFJzuDcYDrpHIV aKXGQDp1f1/2+V7focV5XtT9FoD/+bFmgD14UGKvgyWc4vVwrg+VzjoRak3uPk6M 0jd6hjk=
END SSH2 PUBLIC KEY ----
hinterher: ssh-rsa AAAAB3NzaC1yc2EAAAABJQA........FmgD14UGKvgyWc4vVwrg+VzjoRak3uPk6M0jd6hjk=
Diesen fügen sie dann in die Datei ~/.ssh/authorized_keys ein
Nun sollte es auch schon tun...