Um den SSH Zugang sicherer zu machen, ist es sinnvoll eine Public Key Authentifizierung zu verwenden.
Wir generieren unsere Public / Private Keys mittels puttygen unter Windows.
1.Generieren Public / Private Key
Dazu benötigen wir das Programm “puttygen”, welches wir direkt vom Hersteller downloaden. Das Programm muss nicht installiert werden und lässt sich einfach starten. Nach dem Start sieht das Programm so aus.
Nun klicken wir auf “Generate”.
Wir werden nun aufgefordert die Maus zu bewegen, damit ein zufälliger Schlüssel erzeugt wird.
Nun sehen wir oben im Textfeld unsere Public Key.
2. Public Key auf Server übertragen
Hierzu kopieren wir uns den gesamten Inhalt des oberen Felds (Public Key) aus puttygen.
2a) Public Key als Benutzer übertragen
Nun melden wir uns auf dem Server an mit dem Benutzer, der später diesen Key haben soll. Bei mir heißt dieser Benutzer “test”. Nach dem Einloggen solltet ihr in eurem Homeverzeichnis sein. Mit dem Befehl “pwd” könnt ihr dies überprüfen. Es sollte dann “/home/<euerNutzername>” erscheinen. Hier erstellen wir nun einen neuen Ordner und eine neue Datei und vergeben die entsprechenden Rechte.
mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys
Nun fügen wir den kopierten Public Key in die neu erstellte Datei ein:
nano .ssh/authorized_keys
2b) Public Key als root übertragen
Hier melden wir uns als root an und können den Public Key für einen bestimmten Benutzer vergeben. Dazu wählen wir uns einen Benutzer aus. In meinem Fall “test” und daher gehe ich ins Homeverzeichnis “/home/test”. Dies muss dann entsprechend geändert werden.
cd /home/test mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys chown -R test:test .ssh
Nun fügen wir den kopierten Public Key in die neu erstellte Datei ein:
nano .ssh/authorized_keys
3. SSH Konfiguration anpassen
Nun muss noch die SSH Konfiguration entsprechend angepasst werden. Hier hat man die Auswahl, ob alle Benutzer sich nur noch per Public Key Verfahren anmelden können sollten oder ob dies nur für einzelne Benutzer aktiviert werden soll.
3a) für alle Benutzer aktivieren
Hier gehen wir in die Datei
nano /etc/ssh/sshd_config
und ändern folgende Zeile ab:
#PasswordAuthentication yes zu PasswordAuthentication no
3b) für einzelnen Benutzer aktivieren
Hier gehen wir in die Datei
nano /etc/ssh/sshd_config
und fügen am Ende folgende Zeilen hinzu:
Match User test PasswordAuthentication no
Somit muss sich nur der Benutzer “test” per Public Key authentifizieren und die anderen Benutzer können sich normal mit ihrem Passwort anmelden.
4. SSH neu starten
Nun starten wir den SSH Dienst neu, damit die Änderungen übernommen werden.
service ssh restart
5, Private Key speichern
Wir müssen uns nun noch den Private Key speichern. Dazu klicken wir auf “Save private Key”.
6. Anmeldung per Putty
Nun laden wir uns Putty vom Hersteller herunter. Im oberen Feld geben wir unsere Server IP / Domain an:
Danach wechseln wir in die Kategorie: SSH -> Auth. Dort wählen wir unseren privaten Key aus, den wir im Schritt 5 erstellt haben.
Nachdem wir jetzt auf “open” klicken verbinden wir uns mit dem Server und sind direkt verbunden.