SSH-User erstellen
Leider gibt es automatische Skripte, die auf alle IP Adressen die sie finden ein Bruteforcing-Angriff starten, indem sie sich mit root auf eure Server-IP und Port 22 versuchen drauf zu schalten und alle möglichen Passwörter einfach ausprobieren, bis sie Glück haben und ein System knacken.
Das können wir verhindern, indem wir dem root verbieten sich mit ssh zu verbinden und dafür einen neuen User anlegen, der einen möglichst komplizierten Namen hat. Außerdem sollten wir den Standardport von 22 auf irgendeinen freien Port umändern! Zusätzliche Sicherheit bekommen wir, wenn der neue User gar kein Passwort bekommt, sondern sich ausschließlich über ein Private-/Public-Key-Verfahren authentifizieren lässt.
In folgendem Eingabefeld könnt ihr euren Benutzernamen eingeben und die Konsolenbefehle passen sich eurem Namen an (zum leichteren rauskopieren). Ich habe mich für folgenden kryptischen Benutzernamen entschieden, indem ich einmal wild auf der Tastatur rumgeklimpert habe:
adduser --shell /bin/bash --disabled-password --ingroup 'ssh' isufhveqruitiuoargezb
Jetzt könnt ihr euch als dieser User am System anmelden:
su - isufhveqruitiuoargezb
Danach erzeugt ihr als isufhveqruitiuoargezb ein Schlüsselpaar, welches eine von euch gewählte Passphrase (=Passwort) bekommt:
ssh-keygen -t rsa -b 4096
Wenn ihr kein anderes Verzeichnis gewählt habt, wird das Erzeugnis in folgendem Pfad liegen:
/home/isufhveqruitiuoargezb/.ssh/id_rsa (Das ist euer privater Schlüssel!)
/home/isufhveqruitiuoargezb/.ssh/id_rsa.pub (Das ist euer öffentlicher Schlüssel!)
Den öffentlichen Schlüssel benennen wir jetzt noch, in eine sich durchgesetzte Namenskonvention, um und geben vollen Zugriff darauf.
mv /home/isufhveqruitiuoargezb/id_rsa.pub /home/isufhveqruitiuoargezb/authorized_keys chmod 700 /home/isufhveqruitiuoargezb/.ssh chmod 600 /home/isufhveqruitiuoargezb/.ssh/authorized_keys
Speichert euch den privaten Key am besten auf eurem Client von dem ihr arbeitet, damit ihr dann im folgeschritt daraus den PuTTY Private Key erzeugen könnt!
Dem SSH-User den Zugriff erlauben, den root aussperren und den Standard-Port verändern
Für den Port müsst ihr euch einen freien aussuchen, hier findet ihr eine Belegungsliste. Ich habe mich für 28831 entschieden.
Die Einstellungen müssen in folgender Datei geändert bzw. hinzugefügt werden.
vim /etc/ssh/sshd_config
Port 28831 PermitRootLogin no AllowUsers isufhveqruitiuoargezb
Und wieder den Service neu starten.
service sshd restart
Doch ACHTUNG!!! solltet ihr jetzt einen Fehler gemacht haben, sperrt ihr euch aus und ihr müsst, wie ich beim aller ersten Mal, die Rettungsfunktion von netcup nutzen und die ssh-Konfiguration zurücksetzen, weil ihr sonst nicht mehr auf den Server drauf kommt!
PuTTY Private Key erzeugen und erste Anmeldung
Ihr benötigt das Programm PuTTYgen um den PuTTY Private Key (ppk) zu erzeugen, den ihr an eure PuTTY-Session dranhängen müsst.
An dieser Stelle benötigen wir die id_rsa-Datei, die ihr vorhin beim Erzeugen auf euren Client gespeichert haben solltet. Dann werden folgende Schritte ausgeführt:
- Die Datei „id_rsa“ in „id_rsa.ppk“ umbenennen (ppk = PuTTY Private Key File)
- PuTTYgen öffnen und "Load an exisiting private key" klicken
- id_rsa.ppk auswählen und anschließend eure Passphrase eingeben
- Zum Schluss "Save private key" klicken → wieihrsiebenannthabt.ppk
Danach startet ihr eine neue PuTTY-Session und verbindet euch mit folgenden Daten: (Mein Testserver hat die IP: 192.168.2.107, ihr müsst an dieser Stelle natürlich die IP eures Servers eintragen)
Host: isufhveqruitiuoargezb@192.168.2.107
Port: 28831
Und unter folgendem Menüpunkt fügt ihr die mit PuTTYgen erzeugte wieihrsiebenannthabt.ppk-Datei hinzu:
Connection → SSH → Auth → ganz unten bei "Browse"
Dann speichert euch die Session unter einem beliebigen Namen ab und verbindet euch. Jetzt müsst ihr nur noch eine Abfrage mit Ja bestätigen und eure Passphrase eingeben, dann seid ihr verbunden! Mit dem einfachen Befehl su könnt ihr euch als root einloggen und seid voll handlungsfähig!