Mit Putty und SSH Key auf einen Linux Server zugreifen

Transcription

Mit Putty und SSH Key auf einen Linux Server zugreifen
Mit Putty und SSH Key auf einen Linux Server zugreifen
Verwendete Rechner:
Client: Windows XP Professional, Putty 2007 - Version 8.2
Server: Ubuntu 10.10 – Maverick Meerkat / OpenSSH
Vorbereitungen auf dem Client Rechner
Starten der puttygen.exe und generieren des Schlüsselpaares - Generate
Für die Verschlüsselung wurde gewählt: SSH-2 RSA / 2048 bits
Page | 1
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Im nächsten Schritt kann nun optional ein Passwort (Key passphrase)
eingegeben werden.
1) Generieren des öffentlichen Schlüssels:
Nach Eingabe des Passwortes (optional) auf Save public key klicken,
einen beliebigen Namen auswählen (im Beispiel win_public), und die
Datei auf dem Rechner in einem beliebigen Ordner – im Beispiel im
zuvor angelegten Ordner C:\Progs\putty\keys – speichern.
2) Generieren des privaten Schlüssels:
Auf Save private key klicken, einen beliebigen Namen auswählen (im
Beispiel win_private) und die Datei auf dem Rechner in einem
beliebigen Ordner – im Beispiel im zuvor angelegten Ordner
C:\Progs\putty\keys – speichern.
Page | 2
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Das erzeugte Schlüsselpaar in der Ansicht im Windows Explorer
Um den öffentlichen Schlüssels (win_public) auf den Server zu übertragen,
kopieren wir diesen auf einen USB Stick
Vorbereitungen auf dem Server
Vorraussetzung ist, das auf dem Server bereits openSSH installiert ist und
gestartet wurde. Die Datei sshd_config muß editiert werden. Sie ist zu finden
(Ubuntu Version 10.10) im Verzeichnis
/etc/ssh/
Auf einem Server steht überlicherweise keine GUI zur Verfügung, die Datei
kann z.B. mit dem Editor vim bearbeitet werden (root Rechte vorrausgesetzt)
Page | 3
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Nach dem Anpassen der Datei sshd_config sieht diese dann wie folgt aus
(Kommentare und Leerzeilen ausgeblendet):
peter@userv64:/etc/ssh$ less sshd_config | grep -v ^# | grep -v ^$
Port 10003
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
AllowUsers peter
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Nun muss der öffentliche Schlüssel (win_public) vom USB Stick auf den
Server kopiert werden. Nach dem Einstecken des USB Sticks wird dieser
automatisch im Verzeichnis /media gemountet.
- In das Verzeichnis wechseln, wo sich der öffentliche Schlüssel befindet,
bei mir ist das.
peter@userv64:/media/2GB/keys$ ls -l
insgesamt 4
-rw-r--r-- 1 peter peter 464 2011-03-20 09:23 win_public
- Dann die Datei in ein beliebiges Verzeichnis auf den Server kopieren
peter@userv64:/media/2GB/keys$ cp win_public /home/peter/keys/
Als nächstes muß die Datei in ein für open-ssh verständliches Format gebracht
und dann in die Datei authorized_keys im Verzeichnis /home/<user>/.ssh
geschrieben werden.
Page | 4
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Das geht am besten mit dem folgenden Befehl:
peter@userv64:~/keys$ ssh-keygen -if win_public >> home/peter/.ssh/authorized_keys
Das Verzeichnis sieht dann so aus:
peter@userv64:~/.ssh$ ls – l
insgesamt 8
-rw-r--r-- 1 peter peter 377 2011-03-20 10:17 authorized_keys
-rw-r--r-- 1 peter peter 442 2010-12-08 23:40 known_hosts
Auf authorized_keys soll nur der SSH user Lese- und Schreibrechte haben, also
müssen die Berechtigungen entsprechend angepasst werden.
peter@userv64:~/.ssh$ chmod 600 authorized_keys
peter@userv64:~/.ssh$ ls –l
insgesamt 8
-rw------- 1 peter peter 377 2011-03-20 10:17 authorized_keys
-rw-r--r-- 1 peter peter 442 2010-12-08 23:40 known_hosts
Nun ist der öffenliche Schlüssel für den Gebrauch fertig, wir starten den openssh deamon neu
peter@userv64:~/.ssh$ sudo /etc/init.d/ssh restart
[sudo] password for peter:
* Restarting OpenBSD Secure Shell server sshd
[ OK ]
peter@userv64:~/.ssh$
Auf dem Client Rechner
Wir starten Putty und Wählen die Category SSH / Auth
Page | 5
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Dann gehen wir in die Category Session, geben dort die IP Adresse des Servers
ein und den Port, den wir zuvor in der sshd_config auf dem Server eingetragen
haben.
Page | 6
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter
Die Security Meldung mit Ja bestätigen
Wenn alles korrekt konfiguriert ist, können wir nun die Passphrase eingeben und
sind mit dem Server verbunden.
Page | 7
Workshop: Mit Putty und SSH auf einen Linux Server zugreifen
Zintl, Peter