Key-Login (OpenSSH): Unterschied zwischen den Versionen
Bernd (Diskussion | Beiträge) |
typo, etwas umstrukturiert |
||
Zeile 1: | Zeile 1: | ||
==Normaler Login mit Passwort== | ==Normaler Login mit Passwort== | ||
Das Anmelden per SSH auf einem Rechner funktioniert normalerweise über eine Passwortabfrage. Der Benutzer wird nach seinem Passwort gefragt, um sich auf dem entfernten Rechner zu authentifizieren. | Das Anmelden per SSH auf einem Rechner funktioniert normalerweise über eine Passwortabfrage. Der Benutzer wird nach seinem Passwort gefragt, um sich auf dem entfernten Rechner zu authentifizieren. | ||
Die Authentifizierung über ein Passwort ist immer dann sehr unhandlich, wenn es schnell gehen soll. Ebenso für Cron müssen interaktive Abfragen vermieden werden. Nun soll das Verfahren aber trotz alledem sicher sein. Aus diesem Grund sollte man SSH-Authentifizierung durch einen Schlüssel wählen. Konkret heißt das, der Benutzer legt sich einen Schlüssel an. Dieser Schlüssel besteht aus zwei Teilen, einem privaten und einem öffentlichen (s.g. Public Key Kryptographie). Der öffentliche Schlüssel wird nun auf dem Server hinterlegt. Wenn nun der User sich auf den Server verbindet, wird überprüft ob es einen passenden Key gibt. Falls ein passender Key gefunden wird, überprüft das SSH-Protokoll, ob zum auf dem Server gefundenen öffentlichen Schlüssel, ein lokaler, privater Schlüssel existiert. Über dieses Schlüsselpaar findet dann die Authentifizierung statt. | Die Authentifizierung über ein Passwort ist immer dann sehr unhandlich, wenn es schnell gehen soll. Ebenso für Cron müssen interaktive Abfragen vermieden werden. Nun soll das Verfahren aber trotz alledem sicher sein. Aus diesem Grund sollte man SSH-Authentifizierung durch einen Schlüssel wählen. Konkret heißt das, der Benutzer legt sich einen Schlüssel an. Dieser Schlüssel besteht aus zwei Teilen, einem privaten und einem öffentlichen (s.g. Public Key Kryptographie). Der öffentliche Schlüssel wird nun auf dem Server hinterlegt. Wenn nun der User sich auf den Server verbindet, wird überprüft ob es einen passenden Key gibt. Falls ein passender Key gefunden wird, überprüft das SSH-Protokoll, ob zum auf dem Server gefundenen öffentlichen Schlüssel, ein lokaler, privater Schlüssel existiert. Über dieses Schlüsselpaar findet dann die Authentifizierung statt. | ||
==Login per Key== | ==Login per Key== | ||
===Schlüssel anlegen (4096 Bit)=== | ===Unix: Schlüssel anlegen (4096 Bit) === | ||
Da der Schlüssel recht lang ist, dauert es möglicherweise eine kurze Weile, bis dieser | Da der Schlüssel recht lang ist, dauert es möglicherweise eine kurze Weile, bis dieser erstellt ist. Sie können den Computer beim Erstellen unterstützen, in dem Sie wahllos Aktionen tätigen: Fenster verschieben, Dokumente löschen, speichern, öffnen, Programme öffnen und schließen. Dies ist notwendig, da bei der Erzeugung eines Schlüssels das Programm eine große Anzahl von Zufallszahlen benötigt, die es nur aus Rechenoperationen erzeugen kann. | ||
Je nach Zielsetzung des Schlüssels kann es wichtig sein, kein Passwort einzugeben. Sonst hat man zwar Authentifizierung über einen Key aber eben über einen mit Passwort: | Je nach Zielsetzung des Schlüssels kann es wichtig sein, kein Passwort einzugeben. Sonst hat man zwar Authentifizierung über einen Key aber eben über einen mit Passwort: | ||
Zeile 16: | Zeile 13: | ||
===Den autorisierten Schlüsseln hinzufügen=== | ===Den autorisierten Schlüsseln hinzufügen=== | ||
Damit der Server den Schlüssel akzeptiert, muss der öffentliche Schlüssel in die Datei ''~/.ssh/authorized_keys'' eingetragen werden: | Damit der Server den Schlüssel akzeptiert, muss der öffentliche Schlüssel in die Datei ''~/.ssh/authorized_keys'' (auf dem Schokokeks Server) eingetragen werden: | ||
cat ~/.ssh/id_rsa.pub | ssh remotehost "cat >> ~/.ssh/authorized_keys" | cat ~/.ssh/id_rsa.pub | ssh remotehost "cat >> ~/.ssh/authorized_keys" | ||
Zeile 22: | Zeile 19: | ||
Es können mehrere unterschiedliche Schlüssel in dieser Datei eingetragen werden. | Es können mehrere unterschiedliche Schlüssel in dieser Datei eingetragen werden. | ||
===Windows (Putty): Schlüssel anlegen (4096 Bit)=== | |||
Zuerst benötigt man hierzu das Programm puttygen.exe und putty.exe [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html]. | |||
Zuerst benötigt man hierzu das Programm puttygen.exe und putty.exe | |||
Den Schlüssel generiert man nun mit dem Tool puttygen.exe (nicht vergessen unten rechts 4096 Bit einzutragen). | |||
Den Schlüssel generiert man nun mit dem Tool puttygen.exe (nicht vergessen unten rechts 4096 Bit einzutragen). | |||
Die beiden Schlüssel (privat und public) müssen nun - ggf. ohne die Angabe eines Passwortes - an einem "sicheren Ort" gespeichert werden. | Die beiden Schlüssel (privat und public) müssen nun - ggf. ohne die Angabe eines Passwortes - an einem "sicheren Ort" gespeichert werden. | ||
Puttygen formatiert die Ausgabe anders als ssh-keygen. Daher muss der Schlüssel noch etwas nachbearbeitet werden. | Puttygen formatiert die Ausgabe anders als ssh-keygen. Daher muss der Schlüssel noch etwas nachbearbeitet werden. | ||
Zeile 54: | Zeile 48: | ||
ssh-rsa AAAAB3NzaC1yc2EAAAABJQA........FmgD14UGKvgyWc4vVwrg+VzjoRak3uPk6M0jd6hjk= | ssh-rsa AAAAB3NzaC1yc2EAAAABJQA........FmgD14UGKvgyWc4vVwrg+VzjoRak3uPk6M0jd6hjk= | ||
Also es müssen der Vor- und Nachspann entfernt werden und alle Zeilen (ohne | Also es müssen der Vor- und Nachspann entfernt werden und alle Zeilen (ohne Leerzeichen) zu einer Zeile zusammengefasst werden. Davor muss dann noch ''ssh-rsa'' geschrieben werden um den Typ des Schlüssels zu kennzeichnen. | ||
Diesen fügen Sie dann in die Datei ~/.ssh/authorized_keys ein. | Diesen fügen Sie dann in die Datei ~/.ssh/authorized_keys ein. | ||
==Kurznamen einrichten (Linux)== | ==Kurznamen einrichten (Linux)== | ||
Zeile 74: | Zeile 66: | ||
IdentityFile ~/.ssh/keks_rsa | IdentityFile ~/.ssh/keks_rsa | ||
Hostname schokokeks.org | Hostname schokokeks.org | ||
[[Kategorie:OpenSSH]] |
Version vom 11. September 2008, 17:42 Uhr
Normaler Login mit Passwort
Das Anmelden per SSH auf einem Rechner funktioniert normalerweise über eine Passwortabfrage. Der Benutzer wird nach seinem Passwort gefragt, um sich auf dem entfernten Rechner zu authentifizieren.
Die Authentifizierung über ein Passwort ist immer dann sehr unhandlich, wenn es schnell gehen soll. Ebenso für Cron müssen interaktive Abfragen vermieden werden. Nun soll das Verfahren aber trotz alledem sicher sein. Aus diesem Grund sollte man SSH-Authentifizierung durch einen Schlüssel wählen. Konkret heißt das, der Benutzer legt sich einen Schlüssel an. Dieser Schlüssel besteht aus zwei Teilen, einem privaten und einem öffentlichen (s.g. Public Key Kryptographie). Der öffentliche Schlüssel wird nun auf dem Server hinterlegt. Wenn nun der User sich auf den Server verbindet, wird überprüft ob es einen passenden Key gibt. Falls ein passender Key gefunden wird, überprüft das SSH-Protokoll, ob zum auf dem Server gefundenen öffentlichen Schlüssel, ein lokaler, privater Schlüssel existiert. Über dieses Schlüsselpaar findet dann die Authentifizierung statt.
Login per Key
Unix: Schlüssel anlegen (4096 Bit)
Da der Schlüssel recht lang ist, dauert es möglicherweise eine kurze Weile, bis dieser erstellt ist. Sie können den Computer beim Erstellen unterstützen, in dem Sie wahllos Aktionen tätigen: Fenster verschieben, Dokumente löschen, speichern, öffnen, Programme öffnen und schließen. Dies ist notwendig, da bei der Erzeugung eines Schlüssels das Programm eine große Anzahl von Zufallszahlen benötigt, die es nur aus Rechenoperationen erzeugen kann.
Je nach Zielsetzung des Schlüssels kann es wichtig sein, kein Passwort einzugeben. Sonst hat man zwar Authentifizierung über einen Key aber eben über einen mit Passwort:
ssh-keygen -b 4096 -t rsa
Den autorisierten Schlüsseln hinzufügen
Damit der Server den Schlüssel akzeptiert, muss der öffentliche Schlüssel in die Datei ~/.ssh/authorized_keys (auf dem Schokokeks Server) eingetragen werden:
cat ~/.ssh/id_rsa.pub | ssh remotehost "cat >> ~/.ssh/authorized_keys"
Es können mehrere unterschiedliche Schlüssel in dieser Datei eingetragen werden.
Windows (Putty): Schlüssel anlegen (4096 Bit)
Zuerst benötigt man hierzu das Programm puttygen.exe und putty.exe [1].
Den Schlüssel generiert man nun mit dem Tool puttygen.exe (nicht vergessen unten rechts 4096 Bit einzutragen). Die beiden Schlüssel (privat und public) müssen nun - ggf. ohne die Angabe eines Passwortes - an einem "sicheren Ort" gespeichert werden.
Puttygen formatiert die Ausgabe anders als ssh-keygen. Daher muss der Schlüssel noch etwas nachbearbeitet werden.
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=
Also es müssen der Vor- und Nachspann entfernt werden und alle Zeilen (ohne Leerzeichen) zu einer Zeile zusammengefasst werden. Davor muss dann noch ssh-rsa geschrieben werden um den Typ des Schlüssels zu kennzeichnen.
Diesen fügen Sie dann in die Datei ~/.ssh/authorized_keys ein.
Kurznamen einrichten (Linux)
Falls Sie in der Form ssh keks
auf Ihren SSH-Account zugreifen möchten, so editieren Sie die Datei ~/.ssh/config
. Dort fügen Sie folgende Zeilen ein:
Host keks User <Ihr Benutzername> IdentityFile <Pfad zum SSH-Key> Hostname schokokeks.org
Beispiel
ACHTUNG: Der Pfad zum Schlüssel variert, vor allem auf den unterschiedlichen Plattformen. Testen Sie vorher unbedingt aus, dass der Schlüssel auch unter dem angegebenen Pfad existiert.
Host keks User lars IdentityFile ~/.ssh/keks_rsa Hostname schokokeks.org