Skip to main content

NSLU: Debian SSH Zugriff nur mit Zertifikat

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:

PasswordAuthentication no 

ChallengeResponseAuthentication no

Weiterhin sollten auch folgende Einträge hinzugefügt, bzw. unkommentiert werden:
RSAAuthentication yes

PubkeyAuthentication yes
AuthorizedKeysFile /etc/ssh/authorized_keys

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:
<gesamter String aus puttygen des öffentlichen Schlüssels> <Benutzername>

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

/etc/init.d/ssh restart

neustarten. Nun ist nur noch Login via Zertifikat möglich.

PasswordAuthentication no
ChallengeResponseAuthentication no

4 thoughts to “NSLU: Debian SSH Zugriff nur mit Zertifikat”

  1. 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

  2. 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

  3. Wenn ich

    “chmod 600 auf die authorized_keys”

    ausführe kann ich mich nicht per SSH verbinden :/

    Gruß

    PassMe

Leave a Reply

Your email address will not be published. Required fields are marked *