Schlüsselpaar erzeugen unter Windows
Das PuTTY eigene Schlüsselformat .ppk
wird mit der Software PuTTYgen erzeugt. Nach dem Download und der Installation öffnen wir PuTTYgen:
Mit PuTTYgen erzeugen wir einen privaten Schlüssel und speichern diesen unter private-key.ppk
ab. Es macht Sinn diesen Schlüssel auch gleich in das OpenSSH Format zu exportieren, um später auch mit anderer Software eine schlüsselbasierte Verbindung herstellen zu können. Mit dem privaten Schlüssel generieren wir einen passenden öffentlichen Schlüssel, den wir anschließend auf den Server übertragen.
Wir stellen die Parameter auf RSA
und die Bittiefe auf 4096
. Zum Erzeugen einfach auf Generate
klicken. In dem leeren grauen Bereich muss der Mauszeiger hin- und her bewegt werden. Diese willkürlichen Bewegungen fließen in die Berechnung des Schlüssels mit ein. Der Fortschrittsbalken informiert darüber, wie lange die Bewegungen ausgeführt werden müssen. Je höher die Bittiefe, also die Komplexität, desto länger dauert es. Nach dem der Schlüssel temporär erstellt ist, geben wir eine Passphrase ein, was den Schlüssel noch zusätzlich AES-CBC verschlüsselt.
Wir speichern den öffentlichen Schlüssel mit Save public key
. Den Dateinamen kannst Du frei wählen. Die Dateiendung kann zum Beispiel .txt
sein. Den Inhalt dieser Datei werden wir später auf unserem Server hinterlegen.
Ähnliches Vorgehen für den privaten Schlüssel. Diesmal klicken wir Save private key
und vergeben keine Dateiendung. Die Dateiendung .ppk
wird automatisch vergeben.
Fehlt noch der private Schlüssel im OpenSSH Format. Dazu öffnen wir das Menü Conversions
und exportieren mit Export OpenSSH key
. Diese Datei speichern wir unter private-key
ohne Dateiendung ab.
Bevor Du PuTTYgen schließt, solltest Du noch den Schlüssel aus dem oberen Feld kopieren. In dieser Form, beginnend mit "ssh-rsa" und alles in einer Zeile, ist er für den SSH Dienst lesbar. Diesen Schlüssel werden wir gleich auf den Server kopieren.
Zur Not können wir den auch mit dem abgespeicherten öffentlichen Schlüssel nachbauen. Der RSA Key sieht bei mir dann so aus:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAtX9gXr8jJm5p6sqSGelcGjV0oov5OsTH2cGkYNfArq+jnhswBG52GsOSDy05EJjcGOeSuo4rr+vp/iUpl9Q3H/45k3T8AcLmnSZwzhWoxOs2mE9Esyrv6Ki4us4WJr2F8m7BbE5sym5kDOmUqSr1upT5THzccFDfNmtr9tQtYDls720/QcZ3SUk0ZDJTsyyHpe3vDUq4qcXgzKXpBhk58wsFcbKyeV+kAG8kzcdKPapmhswmP5KgtsHsGHwBZoyAS9nmDPSkxRmn18UgZjEY+wwBdGmcyTKwaphMcB6Ja+Tpu8iZLxjPATdqTmIO0AVEhDw7pCuO/9yoQf2WKkUdiQ==
Geschafft! Unser Schlüsselpaar liegt nun in verschiedenen Dateiformaten auf unserem Rechner. Den privaten Schlüssel und die Passphrase solltest Du nicht verlieren, denn ohne Schlüssel wirst Du (und sonst niemand) später nach der Umstellung nicht mehr auf den Server kommen.
Öffentlichen Schlüssel auf dem Server hinterlegen
Den Inhalt der öffentlichen Schlüsseldatei müssen wir im Benutzer Verzeichnis von tom
unter Home in die Datei ~/.ssh/authorized_keys
schreiben. Um sicher zu gehen, dass Du mit dem richtigen Benutzer angemeldet hast, kannst Du das mit whoami überprüfen:
__$ whoami
Es ist gut möglich, dass die Datei noch nicht existiert. Daher legen wir erst den Ordner ~/.ssh
mit mkdir an:
__$ mkdir ~/.ssh
Danach erzeugen wir die Datei ~/.ssh/authorized_keys
mit nano
und können den Inhalt vom öffentlichen Schlüssel gleich mit eingeben:
__$ nano ~/.ssh/authorized_keys
Und fügen den Schlüssel mit der rechten Maustaste ein. Nur noch speichern und fertig (STRG+s
, STRG+x
).
~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAtX9gXr8jJm5p6sqSGelcGjV0oov5OsTH2cGkYNfArq+jnhswBG52GsOSDy05EJjcGOeSuo4rr+vp/iUpl9Q3H/45k3T8AcLmnSZwzhWoxOs2mE9Esyrv6Ki4us4WJr2F8m7BbE5sym5kDOmUqSr1upT5THzccFDfNmtr9tQtYDls720/QcZ3SUk0ZDJTsyyHpe3vDUq4qcXgzKXpBhk58wsFcbKyeV+kAG8kzcdKPapmhswmP5KgtsHsGHwBZoyAS9nmDPSkxRmn18UgZjEY+wwBdGmcyTKwaphMcB6Ja+Tpu8iZLxjPATdqTmIO0AVEhDw7pCuO/9yoQf2WKkUdiQ==
STRG+x
zum Schließen, y
zum SpeichernEnter
bestätigenUm wirklich sicher zu sein, ob der public key abgespeichert wurde, schauen wir mit less
nach:
__$ less ~/.ssh/authorized_keys
Die Ausgabe sollte in etwa so aussehen:
authorized_keys
(beenden mit q
)Der öffentliche Schlüssel ist jetzt auf dem Server hinterlegt, was wunderbar ist, aber uns so noch nichts bringt. Wir müssen noch die SSH Authentifizierungsmethode umstellen. Das machen wir im nächsten Kapitel: Authentifizierungsmethode ändern und testen.