Es war einmal ein friedlicher Ort genannt Internet. Alle Kommunikation war unverschlüsselt, alle Nutzer hielten sich an die Netiquette. Wenn man keine Zugangsdaten hatte, versuchte man nicht, auf Rechner zuzugreifen.
Inzwischen ist das Netz eher zu einem Schlachtfeld geworden. Das Log meines Servers wies in der ersten Nacht über 1000 Zugriffsversuche aus. Sinnfrei wurden Kombinationen aus Benutzernamen und Passwort probiert. Dabei war der einzige aktive Dienst der SSH Deamon.
Dagegen muss und kann man etwas unternehmen.
Zum einen ist das bequemer, weil man nicht jedesmal ein Passwort eingeben muss, zum Anderen ist es sicherer, weil sich ein Zertifikat nunmal um Längen schwerer erraten lässt als ein Passwort. Und so geht's:
Auf dem lokalen Rechner:
ssh-keygen -t rsa #Hier keine Passphrase eingeben. Den Schlüssel einfach sicher aufbewahren cat .ssh/id_pubAuf dem Server
cat > .ssh/id_pubJetzt nur noch die Ausgabe von eben kopieren und auf dem Server wieder einfügen. Danach <Strg><D> drücken, fertig.
Jetzt noch die Konfiguration in /etc/ssh/sshd_config anpassen:
PermitRootLogin without-password PasswordAuthentication no ChallengeResponseAuthentication no UsePAM yesund zur Sicherheit den sshd neu starten. Ab jetzt sollte ein Login mit Passwort nicht mehr möglich sein
TODO: fail2ban
TODO: nmap