Wer oft auf seinen *nix Server zugreifen muss, macht dies im allgemeinen über SSH. Dabei gibt er den Benutzernamen und das Passwort eines Users der Maschine an. Heute möchte ich hierfür eine alternative aufzeigen, welche das Login mittels eines Schlüsselpaares ermöglicht. Die Anleitung orientiert sich an BSD und Mac OSX.
Zunächst müssen wir uns darüber Gedanken machen, welche Verschlüsselung wir nutzen. Da die alte Verschlüsselung (RSA) seit einiger Zeit einfach geknackt werden kann, empfehle ich die DSA-Verschlüsselung zu nutzen. Auch in Zukunft sollte man sich vor der Wahl des Verschlüsselungsalgorithmus darüber informieren, ob er noch immer sicher ist.
Als Vorbereitung für unsere erste Verbindung müssen wir zunächst 5
Schritte durchgehen:
- Zunächst erzeugen wir uns ein Verzeichnis in dem wir unsern privaten und öffentlichen Schlüssel sichern und wechseln in dieses:
client: UserName$ mkdir -p ~/Documents/myKeys/ServerName
client: UserName$ cd ~/Documents/myKeys/ServerName/
- Nun erzeugen wir mit den folgenden Befehlen unser Schlüsselpaar:
client: UserName$ ssh-keygen -t dsaBei der Abfrage nach dem Verzeichnis jeweils ./id_dsa angeben. Anschließend müssen wir noch ein sicheres Passwort für den privaten Schlüssel eingeben. - Wir kopieren den öffentlichen Schlüssel auf unseren Server und tragen ihn in authorized_keys2 ein.client: UserName$ scp ~/Documents/myKeys/ServerName/id_dsa.pub root@myServer.com:~/
client: UserName$ ssh root@myServer.com
myServer:root$ mkdir ~/.ssh #wenn nicht schon vorhanden
myServer:root$ cat id_dsa.pub >> ~/.ssh/authorized_keys2
myServer:root$ exit
client: UserName$
- Als vorletzten Schritt müssen wir noch den privaten Schlüssel eintragen:
client: UserName$cd ~/Documents/myKeys/ServerName/
client: UserName$ cat id_dsa >> ~/.ssh/known_hosts
- Als letztes informieren wir den ssh-agent über unseren privaten Key.
client: UserName$ ssh-add ./id_dsa