· 2 min read

Passwortfreie Authentifizierung mittels SSH einrichten

Eine bessere Alternative zur Eingabe von Passwörtern für jeden Ihrer Server bietet die Verwendung einer kryptografischen Authentifizierung mittels SSH und seinen öffentlichen/privaten Schlüsselpaaren.

Generieren Sie ein öffentliches/privates Schlüsselpaar mit:

$ ssh-keygen -t dsa


Sie können alle Fragen einfach mit Enter beantworten. Sie können den Befehl später immer wieder ausführen, wenn Sie die Standardwerte ändern wollen.

Nun installieren Sie Ihren öffentlichen Schlüssel auf einem entfernten Server Ihrer Wahl mit dem folgenden Befehl:

 $ cat ~/.ssh/id_dsa.pub | ssh rob@myhost "cat >> .ssh/authorized_keys2"


Ersetzen Sie dabei myhost durch den Domainnamen oder die IP-Adresse Ihres Servers.

Ein typisches Problem dabei sind falsche Zugriffsrechte auf das .ssh-Verzeichnis und die darin enthaltenen Dateien. Stellen Sie sicher, dass Ihr .ssh-Verzeichnis und die darin enthaltenen Dateien nur vom Eigentümer gelesen und geschrieben werden können:

$ chmod 700 ~/.ssh

$ chmod 600 ~/.ssh/authorized_keys2



Diskussion

Der Vorteil der passwortfreien Authentifizierung besteht darin, dass Passwörter über die Leitung abgehört werden können und sog. Brute-Force-Attacken ausgesetzt sind. Die kryptografische Authentifizierung eliminiert diese Risiken. Es ist auch weniger wahrscheinlich, dass Ihre Passwörter bei fehlerhaften Login-Versuchen in Ihren lokalen Logs hängen bleiben.

Wie bei allen sicherheitsrelevanten Aspekten gibt es auch hier Nachteile. Wenn Sie Ihren privaten Schlüssel auf Ihrer lokalen Maschine ablegen, kann jeder mit Zugriff auf diese Maschine auf Ihre Server zugreifen, ohne die Passwörter kennen zu müssen. Beachten Sie diese potenzielle Sicherheitslücke, wenn Ihr Computer mal unbeaufsichtigt bleibt und wenn Sie einen Sicherheitsplan aufstellen.


Dieses Rezept stammt aus dem Rails Kochbuch, veröffentlicht beim O’Reilly Verlag

Back to Blog