Da meine Slug nun mit einem dyndns-Account permanent aus dem Internet auch mit SSH erreichbar ist und dies doch ein erhebliches Risiko darstellt, vor allem wenn sich der Log jede Nacht mit fehlgeschlagenen Login-Versuchen füllt, dachte ich ich stell das ganze gleich auf Zertifikat Login only um.
Dazu muss die Datei /etc/ssh/sshd_config bearbeitet werden.
Erstmal umstellen auf Zertifikat Login only:
Weiterhin sollten auch folgende Einträge hinzugefügt, bzw. unkommentiert werden:
Dann hab ich mit Hilfe von puttygen einen Schlüssel erzeugt. Im Ordner /etc/ssh/ eine neue Datei mit dem Namen authorized_keys erstellt. (Ich hab es ganz gern, wenn alles an einem Platz ist, normal wird die Datei in dem jeweiligen Nutzerverzeichnis abgelegt und bearbeitet.)
In die Datei wird dann der public key, der ja im puttygen-Fenster angezeigt wird, kopiert und zwar mit folgender Syntax:
chmod 600 auf die authorized_keys nicht vergessen!
Der private Schlüssel wird nun noch exportiert und jetzt zuerst ausprobieren, ob man sich mit dem Zertifikat einloggen kann, klappt dies, kann man den SSH-Daemon mittels
neustarten. Nun ist nur noch Login via Zertifikat möglich.
PasswordAuthentication no
ChallengeResponseAuthentication no
Hallöchen,
coole Idee, den Gedankengang hatte ich auch als ich das auth.log gesehen habe 😉
Was ich anmerken möchte:
Bei mir hat der Login über Zertifikat zwar funktioniert, aber alleine mit
UsePAM no
war der Login noch nicht auf “nur Zertifikat Login” umgestellt.Folgendes musste ich auch noch abändern:
PasswordAuthentication no
ChallengeResponseAuthentication no
Grüße
Bene
Hi.
Da hast du allerdings Recht.
Ich hab den Artikel mal dahingehend angepasst. UsePAM sollte auch aktiviert bleiben, sont wird alles was in /etc/pam.d/ssh steht nicht mehr ausgeführt.
Danke dir!
Tom
Wenn ich
“chmod 600 auf die authorized_keys”
ausführe kann ich mich nicht per SSH verbinden :/
Gruß
PassMe
Warum, was gibt es denn für eine Fehlermeldung?
cu
Tom