Hier ist eine Frage, auf die ich absolut keine Antwort gefunden habe: Wie kann man sshd so konfigurieren, dass jeder sich per SSH ohne Passwort- oder Schlüsselauthentifizierung in die Box einloggen kann? Das Ziel ist, dass jeder „ssh user@host“ ausführen und sich in die Box einloggen kann, ohne ein Passwort eingeben oder Schlüssel konfigurieren zu müssen. Ist das überhaupt möglich?
Bevor jemand fragt: Ich bin mir durchaus bewusst, dass das in der Praxis keine gute Idee ist. Allerdings geht es hierbei ausschließlich um einen Sandbox-Server, den ich zu Lernzwecken verwende.
Antwort1
Haftungsausschluss: Ich würde niemals empfehlen, dies zu tun.
Ich gehe davon aus, dass dies für ein LAN-System ist, hoffentlich kein Internetsystem, aber Sie können einen Benutzer ohne Kennwort erstellen und die folgende Option in der OpenSSHd-Konfiguration aktivieren:
PermitEmptyPasswords yes
Um das Passwort eines Benutzers zu entfernen, können Sie -d
passwd verwenden.
passwd -d username
Der richtige Umgang mit SSH-Schlüsseln
Sie generieren ein SSH-Schlüsselpaar für sich selbst. Wie Sie dies tun, hängt von Ihrem Client ab. Für Linux ist es ssh-keygen
. Sie können beim Generieren des Schlüssels ein leeres Passwort verwenden, sodass Sie beim Anmelden keins eingeben müssen.
Auf Ihrem Server können Sie den öffentlichen Schlüssel (id_rsa.pub) in einer Zeile der Datei authorized_keys speichern, die sich normalerweise im .ssh
Verzeichnis des Benutzers befindet. Diese Datei muss möglicherweise erstellt werden. (Für einen einzelnen Schlüssel sollte es ausreichen, id_rsa.pub als ~/.ssh/authorized_keys auf den Server zu kopieren.)
Die private Schlüsseldatei sollte niemals öffentlich zugänglich gemacht werden, kann aber an jeden weitergegeben werden, der Ihrer Ansicht nach Zugriff auf diesen Benutzer/Computer haben soll.