How-to

So sichern Sie den SSH-Zugang

12.03.2023
Von Stephan  Lamprecht

Anmeldung auf das Heimnetz beschränken

Noch sicherer wird der Zugriff, wenn die Anmeldung ausschließlich via Schlüsseldateien erfolgt. Sie sollten den Schlüssel aber mit einem Kennwort („Passphrase“) schützen.
Noch sicherer wird der Zugriff, wenn die Anmeldung ausschließlich via Schlüsseldateien erfolgt. Sie sollten den Schlüssel aber mit einem Kennwort („Passphrase“) schützen.

Die bisherigen Schritte machen es Angreifern und schädlichen Scripts deutlich schwerer. Sie nutzen nicht mehr den Standardzugang und eine Anmeldung von Root ist nicht möglich. Noch sicherer wird die Verbindung natürlich, wenn der Zugriff nur noch über bestimmte IP-Adressen erfolgen darf. Wenn diese Option in Betracht kommt, weil Sie stets nur von einem System aus einem festen IP-Bereich Anmeldungen durchführen, ist das eine vielversprechende Möglichkeit. Öffnen Sie die schon bekannte Konfigurationsdatei "sshd_ config". Um eine Anmeldung nur von einer einzigen IP-Adresse zu erlauben (hier aber für jedes Konto), fügen Sie die Zeile

AllowUsers *@192.168.178.10

ein. Das können Sie auch auf einen Adressbereich ausdehnen. Die Anweisung

AllowUsers *@192.168.178.0/24

würde den für die Fritzbox typischen Adressraum von 192.168.178.0 bis 192.168.178.255 für die SSH-Anmeldung erlauben.

Anmeldung nur via Schlüsselpaar erlauben

Bei der Verwendung von Passwörtern besteht immer das Problem, dass diese erraten, ausprobiert oder entwendet werden können. Das ist bei der Verwendung von Schlüsselpaaren anders. Hier müssten öffentliche und private Schlüssel gestohlen worden und die Passphrase für den Zugriff bekannt sein. Um sich via Schlüssel anmelden zu können, legen Sie zunächst auf ihrem Stammsystem ein Schlüsselpaar an mittels des Befehls

ssh-keygen -b 4096

Beim Speicherort, der abgefragt wird, belassen Sie es bei den Voreinstellungen. Sie können jetzt eine "Passphrase" (Kennwort) zum Schutz des Schlüssels nutzen. Das ist für hohen Sicherheitsanspruch empfehlenswert, denn ohne diese Hürde genügt ein entwendeter Schlüssel zur Anmeldung. Sie erhalten eine Rückmeldung wie "Your public key has been saved in /home/[nutzername]/.ssh/id_dsa.pub". Diesen Schlüssel müssen Sie auf den Server übertragen. Der Einfachheit halber gehen wir davon aus, dass sich auf dem Zielserver im Home-Verzeichnis des aktuellen Nutzers bereits das versteckte Verzeichnis "./ssh/" befindet. Um den öffentlichen Schlüssel zum Server zu kopieren, nutzen Sie dieses Kommando (Beispiel):

scp ~/.ssh/id_dsa.pub sepp@192.168.178.10

Bevor Sie jetzt die Anmeldung via Passwort abschalten, sollten Sie den Zugriff via Schlüssel unbedingt testen.

Es werden zwei Schlüsseldateien angelegt. Die öffentliche Datei des Nutzers, der auf den Server zugreifen soll, muss zum Server kopiert werden.
Es werden zwei Schlüsseldateien angelegt. Die öffentliche Datei des Nutzers, der auf den Server zugreifen soll, muss zum Server kopiert werden.

In der Konfigurationsdatei "sshd_config" (am Server) ändern Sie dazu den Wert "No" von "PubkeyAuthentication no" in "yes" und lesen die Konfiguration neu ein (sudo systemctl restart sshd). Danach testen Sie die Verbindung. Sie werden bei der Anmeldung nach der Passphrase für den Schlüssel gefragt (nicht nach dem Systemkennwort des Benutzers).

Wenn Sie sich auf diesem Weg erfolgreich anmelden konnten, schalten Sie in der Konfigurationsdatei "/etc/ssh/sshd_config" (am Server) die Anmeldung mit Konto und Passwort aus. Suchen Sie dort nach der Zeile "PasswordAuthentication" und ändern Sie den Wert von "yes" auf "no".

(PC-Welt)