SSH-Server absichern…
Ein Server kann noch so sicher sein, es geht immer besser 🙂
Kümmern wir uns hier mal um den SSH-Server. Es gibt folgende Optionen, das ganze etwas „abzuriegeln“
- Den Standardport von 22 auf etwas anderes (am besten über 1024) ändern. Achtung – an die Portfreigabe im Router denken
- Die Passwort-Authentifizierung abschalten und nur noch mit Key-Anmeldung arbeiten
- 2-Faktor-Authentifizierung bei SSH (aber nur für ganz paranoide)
Der Port
Bisher war es recht einfach diesen in der /etc/ssh/sshd_config zu ändern, neuere Ubuntu-Versionen haben hier aber wieder einen anderen Weg eingeschlagen.
Hier müsst ihr in der /etc/default/ssh bei den SSHD_OPTS= euren Port eintragen. Z. b. SSHD_OPTS=“-p 8888″ für Port 8888
Dann noch mit folgendem Befehl den SSH-Server neu starten.
sudo systemctl restart ssh
Auf neueren Systemen lässt sich der Port nicht mehr einfach in der sshd_config ändern. Wenn ihr das trotzdem wollt, müsst ihr zwei Befehle eingeben:
systemctl disable --now ssh.socket
systemctl enable --now ssh.service
Key-Authentifizierung (macOS)
Öffne das Terminal und gib folgenden Befehl ein
cd ~/.ssh/
ssh-keygen -t rsa -b 4096
Gebt den Namen für den Key ein (Beispiel testkey) und anschließend eine Passphrase – GUT MERKEN!!!
Jetzt muss euer Public-Key halt noch auf den Server, den ihr bedienen möchtet. Auch hier beachten, dass ich als Beispiel den Port 8888 mi eingebaut habe. Als user müsst ihr den User von eurem Server angeben.
ssh-copy-id -i testkey.pub -p 8888 user@domain.tld
Jetzt könnt ihr euch schon mit dem Key anmelden
ssh -i testkey -p 8888 user@domain.tld
Wenn das funktioniert, müssen wir die Passwort-Auth auf dem Zielserver abschalten. Dazu geht ihr in die /etc/ssh/sshd_config. Dort den Wert
#PasswordAuthentication yes
ändern auf
PasswortAuthentication no
Die Datei speichern, und den SSH-Server neu starten mit
sudo systemctl restart ssh