Hallo EgLe,
ja, die Schritte sind so richtig - der Teufel steckt bekanntlich aber im Detail.
Es freut mich auch, dass die Sache schon so laeuft.
So, jetzt aber zu der Public-Private-Key Authentifizierung:
Bei dieser Art der Authentifizierung wird der Benutzer mit einem privaten Schluessel, den er immer verwenden muss, authentifiziert.
D.h., der Benutzer ist im Besitz seines private key, welcher als einziger schuetzenswert ist. Verliert er ihn, so muss ein neuer Schluessel erstellt werden.
Der Schluessel sollte nie per Email versandt werden!
Auf dem Server liegen im Verzeichnis .ssh (oder ~.ssh) in der Datei authorized_keys die oeffentlichen (public) Schluessel, welche eine Art Pendant fuer den private key des jeweiligen Benutzers darstellen.
Ein public key pro Zeile - Zeilenumbrueche innerhalb des Schluessels sind nicht erlaubt.
Diese Art der Authentifizierung ist die sicherste, weil Brute Force Angriffe ausgeschlossen sind.
Besitzt also der Angreifer nicht den richtigen privaten Schluessel, so wird er sofort abgewiesen.
Es empfiehlt sich, den Schluessel mit einer Passphrase zu schuetzen. Das bedeutet, dass der Benutzer eine Art Kennwort vor der Verwendung des key eingeben muss. Die Passphrase ist ein Kennwort, welches Leerzeichen, Tabs etc. beinhalten darf. Die Laenge ist theoretisch beliebig.
Was benoetigen wir:
1. Du brauchst fuer die Erstellung der Schluessel das Putty Tool Puttygen
2. Fuer das Einfeugen des public-key in die authorized_keys dann noch Putty
3. Fuer die Verwendung des privaten Schluessels zusammen mit Filezilla wird das Putty-Tool pagent benoetigt - (ebenfalls bei den Putty Tools dabei)
4. Fuer die Verwendung von WinScp wird pagent nicht benoetigt
Besorge Dir bitte zuerst die Tools. (z.B. auf der WinScp-Seite)
Erstellen der Schluessel:
1. Nach dem Start von Puttygen waehlt man unter Paramters SSH2 RSA aus und vergibt als Schluessellaenge 2048 bits (siehe Number of bits in a generated key)
(warum nicht "DSA"? Ist eigentlich egal. RSA darf in den USA lizenzrechtlich nicht verwendet werden)
2. Anschliessend klickt man auf Generate und bewegt die Maus solange, bis die Schluessel erstellt wurden.
Jetzt sieht man in der mehrzeiligen TextBox schon den public key. Der private key muss explizit ueber den Save private key Button gespeichert werden.
Aber bevor dies geschieht, sollten ein aussagekraeftiger Kommentar und eine Passphrase vergeben werden. Den Kommentar siehst Du dann z.B. in der auth.log und kannst damit sofort erkennen, welcher Benutzer auf den Server zugegriffen hat. (Das stimmt zwar nicht 100%, weil man oft nur den Fingerprint sieht - das Problem koennen wir aber spaeter mit einem cron job und einem Skript loesen.)
Speichere also den private key ab.
Den public key dagegen kopierst Du nur in die Zwischenablage, um ihn anschliessend ueber Cut & Paste im Putty Fenster in die authorized_keys Datei einzufuegen.
Bitte speichere den Key nicht in einer Datei ab!
(Falls das Verzeichnis ~.ssh und die Datei authorized_keys nicht existieren - erstelle sie direkt innerhalb des Home-Verzeichnisses. Die Berechtigungen sollen ungefaehr so aussehen: owner ist admin, group ist administrators, chmod 744. Auf jeden Fall benoetigt der Benutzer nur Leserechte auf das Verzeichnis und die Datei. Als Hilfestellung kannst Du auch einen der letzten Screenshots von mir nehmen.)
Am besten rufst Du die Datei authorized_keys im vi auf (ich weiss, dass Du den vi noch nicht sehr gut kennst - aber Du wirst sehen, dass er nicht nur alt, sondern auch sehr gut ist. Frueher habe ich nur im vi programmieren duerfen - man lernt ihn sehr schnell zu bedienen und zu moegen :-))
Im vi am besten zu Anfang immer die Esc-Taste druecken. Jetzt ist man in einer definierbaren Ausgangssituation aus der man alle Befehle eingeben kann.
Jetzt die i-Taste fuer den Input druecken und anschliessend mit der rechten Maustaste in das vi-Fenster klicken. Der Text aus der Zwischenablage wird sofort eingefuegt.
Das Speichern erfolgt so:
(wq! entspricht: write quite und erzwinge das Speichern falls erforderlich. Falls etwas schief gehen sollte, kannst Du immer Esc druecken und anschliessend :q!. So wird nichts gespeichert und Du darfst von vorne anfangen. ;-))
Ok. Jetzt haetten wir den public key schon in unserer authorized_keys und den private key in einer beliebigen Windows-Datei (z.B. rsa-20090801.ppt) gespeichert.
Jetzt kommt nur noch die Anpassung, in der sshd_config und Du kannst die Geschichte ausprobieren.
Aber mehr dazu demnaechst, weil ich jetzt noch zum Flughafen muss, ich fliege aber noch nicht nach Hause - bin also immer noch nur zu den unmoeglichsten Zeiten erreichbar.
Viel Erfolg!
Gruss
creg