Auf dem Weg, den wir mit den vorangegangenen Artikeln zur Absicherung eines VPS mit Linux-Betriebssystem begonnen haben (der Grundlagenleitfaden und die Anmeldung mit SSH-Schlüsseln), passen wir nun den SSH-Dienst so an, dass er keine Anmeldeversuche mit Passworteingabe mehr akzeptiert. Der Zugriff ist dann ausschließlich mit SSH-Schlüsseln möglich, was das Sicherheitsniveau des VPS grundlegend erhöht.
Sollten Sie Ihren privaten Schlüssel verlieren, können Sie weiterhin mit Benutzername und Passwort über die Web-Konsole von VPS GREEN auf Ihren VPS zugreifen, erreichbar über das Dashboard. Nach der Anmeldung über die Konsole können Sie SSH mit einem neuen privaten Schlüssel neu konfigurieren oder die Anmeldung mit Benutzername und Passwort wiederherstellen.
Voraussetzungen
- Ein VPS mit Linux-Betriebssystem
- Ein Benutzer mit ausreichenden Rechten, also sudo oder direkt root
- Ein Texteditor, in unserem Beispiel verwenden wir nano
- SSH muss bereits für die Anmeldung mit Schlüsseln eingerichtet sein
Die Konfiguration des SSH-Dienstes anpassen
Öffnen Sie vor Beginn der Änderungen zwei SSH-Sitzungen: In der einen führen Sie alle beschriebenen Schritte aus, die andere bleibt für den Notfall geöffnet (das kann helfen, sich nicht auszusperren, falls die Änderungen an der Konfigurationsdatei fehlerhaft sein sollten). Die Konfigurationsdatei des SSH-Dienstes liegt unter /etc/ssh/sshd_config; nur der Benutzer root darf sie ändern.
- Wechseln wir in das Verzeichnis, in dem die Datei sshd_config liegt:
$ cd /etc/ssh - Erstellen wir eine Kopie der Datei sshd_config, um alle geänderten Einstellungen schnell wiederherstellen zu können:
$ sudo cp sshd_config sshd_config.orig - Jetzt können wir mit der Anpassung der Konfiguration beginnen:
$ sudo nano sshd_config
Alles, was in der Datei mit # (Rautezeichen) beginnt, ist ein Kommentar und wird beim Start des Dienstes ignoriert; zugleich zeigt es uns aber, welches der Standardwert der jeweiligen Option ist. Zum Beispiel:
#Port 22 <- questa è la porta di default del servizio, ignorata
Port 4422 <- questa è la nuova porta, scelta da noi, utilizzata
Um die Anmeldung mit Passwort zu unterbinden, suchen wir die Option PasswordAuthentication, entfernen das Zeichen # und ändern ihren Standardwert auf no — oder schreiben, wer das bevorzugt, eine neue Zeile und lassen den bisherigen Wert unangetastet. Der Editor nano bietet eine praktische Suchfunktion: Mit den Tasten STRG+W öffnet sich am unteren Rand des Fensters ein Feld für den Suchtext; mit der EINGABETASTE startet die Suche in der Datei.
Haben Sie den Parameter PasswordAuthentication gefunden, können Sie ihn ändern:
# PasswordAuthentication yes
PasswordAuthentication no
Speichern Sie die Änderungen mit den Tasten STRG+X, dann Y und schließlich EINGABETASTE, um den vorgeschlagenen Dateinamen zu übernehmen.
- Nun müssen die soeben vorgenommenen Änderungen wirksam werden: Dazu ist der SSH-Dienst mit folgendem Befehl neu zu starten
$ sudo systemctl restart sshd - Da Sie keine besondere Ausgabe als Bestätigung des erfolgten Neustarts erhalten, prüfen Sie, ob der Dienst korrekt gestartet ist (enthält die Datei sshd_config Fehler, startet der Dienst nicht neu):
$ sudo systemctl status sshd
Nie wieder Passwörter
Wurde die Prozedur korrekt ausgeführt, sehen Sie unter dem Eintrag „Active:“, dass der Dienst aktiv ist und läuft, mit einem beruhigenden active (running). Versuchen Sie jetzt, sich zu verbinden — etwa ohne den privaten Schlüssel —, um selbst zu erleben, wie der SSH-Dienst auf Ihrem VPS den Zugriff konsequent verweigert, ohne überhaupt nach Benutzername oder Passwort zu fragen:
utente_vps@ip_vps: Permission denied (publickey)
Leitfaden ursprünglich im Blog von VPS GREEN erschienen, dem VPS-Dienst auf unserer grünen Private Cloud.