SSH-Public-Key
aus FAQ-vServer, der freien Wissensdatenbank
Inhaltsverzeichnis |
Das Arbeiten mit SSH-Public-Keys
Das SSH-Public-Key-Verfahren basiert auf der Verwendung eines privaten und öffentlichen Schlüssels, der zur Identifikation bzw. zur Autorisierung verwendet wird. Ein spezieller Mechanismus im SSHD macht dies möglich.
Doch bevor Du dieses Verfahren benutzen kannst, müssen einige Dinge vorbereitet werden.
Vorbereiten des SSH-Daemons
Im Abschnitt SSH-PublicKey der SSH-Daemon-Konfiguration haben wir auf drei Zeilen hingewiesen. Prüfe diese noch einmal, sie dürfen keine # voran gestellt haben.
Erstellen der SSH-Keys
(Erstellen und Nutzen der SSH-Publc-Key-Auth mit PuTTY) Den SSH-Schlüssel erstellst Du am besten auf dem Rechner, von dem aus Du Dich am Zielsystem anmelden möchtest.
Wenn Du keinen Linuxrechner zuhause hast, kannst Du das zur Not auch auf jedem anderen beliebigen Linuxrechner machen, allerdings solltest Du dann darauf achten den Privaten Schlüssel dort zu entfernen. Außerdem muss der Schlüssel dann noch etwas angepasst werden.
Sinnvoll ist an der Stelle die Benutzung von einem USB-Stick.
Die Erstellung unter Linux ist denkbar einfach. Mit
ssh-keygen -t dsa
erstellst Du einen Schlüssel, der im Verzeichnis
../UserDir/.ssh/
abgelegt wird.
Du kannst die Passwortabfrage dort leer lassen, wenn Du Dich nicht gegen Deinen eigenen Schlüssel autorisieren willst (also das Recht, das Du ihn benutzen darfst).
UserDir ist hier eine Variable und meint das Heimat-Verzeichnis des Benutzers, als der Du gerade angemeldet bist.
Es existieren nun dort 2 Dateien:
id_dsa <--- Privater Schlüssel id_dsa.pub <--- Öffentlicher Schlüssel
Der Private Schlüssel wird ab sofort gehütet, wie Dein Augapfel! Den brauchst Du überall dort, von wo aus Du Dich einloggen möchtest (Die Herkunft).
Der Öffentliche Schlüssel wird zum Zielsystem transportiert und zwar zu dem Benutzer, der die Autorisierung vornehmen soll.
Übermitteln des Öffentlichen Schlüssels
Das Übertragen des Schlüssels ist "so eine Sache". Wer schon lange mit Linux arbeitet, kennt den Befehl cat und auch IO-Umleiter. Wer das alles nicht kennt, denkt jetzt erstmal an FTP oder andere Sachen, was auch durchaus erstmal in Ordnung ist, denn...
... der öffentliche Schlüssel muss zum Zielsystem -- egal wie ;)
Es gibt tatsächlich viele Möglichkeiten, Du kannst dem Hostadmin eine Mail schicken, und der möchte diese im Ziel eintragen (was eine gaaaanz schlechte Idee wäre). Oder Du kopierst die Datei über FTP zum Ziel und fügst sie dann an die "authorized_keys" an. Oder Du machst es gleich wie die "alten Hasen" und verwendest zwei geöffnete Konsolen:
Die eine lokal an Deinem eigenen Rechner:
cat .ssh/id_dsa.pub
...die Ausgabe dann mit der Maus markieren (befindet sich dann bereits im Zwischenspeicher)
Die andere remote am Zielsystem:
cat >> .ssh/authorized_keys
...Schlüssel mittels der mittleren Maustaste einfügen und danach CTRL+D drücken, um die Eingabe abzuschließen.
Das war es schon.
Benutzung von SSH mit PubKey
Wenn alles richtig gelaufen ist, dann brauchst Du in Zukunft kein Passwort mehr eingeben, wenn Du Dich an der Zielmaschine anmeldest.
Viel Spaß