SSH absichern

Das SSH Protokoll liegt auf dem Port 22. Dadurch das ein vServer ständig am Netz hängt, wird er früher oder später ziemlich viele Logins von Scripten auf eben Port 22 bekommen. Die dann hoffentlich im Sand verlaufen, weil das Passwort ziemlich sicher ist oder nur ein Login per Schlüssel erlaubt ist.

Wie auch immer, es nervt. Eine einfache Methode um dieses Problem zu beheben ist es, den Port einfach zu wechseln. Am besten wählt man einen Port der >1024 ist. Doch es gibt auch noch weitere Möglichkeiten den SSH-Dienst zu sichern. So gehts unter Debian Die Datei wo sich alles abspielt nennt sich sshd_config. Also erstmal öffnen:

nano /etc/ssh/sshd_config

Ziemlich am Anfang kann man direkt den Port ändern:

# What ports, IPs and protocols we listen for<br />
Port 22

wird zum Beispiel zu (über 1024):

# What ports, IPs and protocols we listen for<br />
Port 2222

Am besten verbietet man direkt den Root-Login, aus:

PermitRootLogin yes

wird:

PermitRootLogin no

ACHTUNG: Dann wird ein User-Account benötigt mit dem man sich vorher einloggt und dann zum root wird, mittels „su“. Weiter kann man gezielt nur einzelnen Usern das Login erlauben. Einfach den Befehl am Ende einfügen:

# User erlauben<br />
AllowUsers MEINUSER

Damit die Änderungen aktiv werden, muss der SSH-Dienst neugestartet werden:

service ssh restart

WICHTIG: Bevor man die aktuelle SSH-Session schließt, sollte man eine neue aufmachen und testen, ob der Login noch klappt.

Noch sicherer ist der Login über eine Schlüsseldatei. Das ist meine ultimative Lösung: Normale User können sich per Passwort oder Schlüssel einloggen, der Root-User darf sich nur per Schlüssel direkt anmelden. Die ganze Config sieht so aus:

#Root-Login erlauben<br />
PermitRootLogin yes
# User erlauben<br />
AllowUsers root MEINUSER
# Root nur per Key<br />
Match User root<br />
PasswordAuthentication no

Wie Beschrieben kann der Root User sich dadurch direkt am System anmelden, aber nur durch den Schlüssel. Andere User können sich normal mit Passwort anmelden. Diese Kombination zusammen mit einem anderen SSH-Port ist die praktikabelste Lösung, mit dem besten Workflow für mich. Wenn ich einen Schlüssel mal verlieren sollte, kann ich mich immer noch mit einem normalen User anmelden und mich mit  „su“ zum Root machen.