So beschränken Sie die SSH-Root-Anmeldung, lassen aber einige Ausnahmen zu

So beschränken Sie die SSH-Root-Anmeldung, lassen aber einige Ausnahmen zu

In OpenSSH können Sie die Root-Anmeldung einschränken (PermitRootLogin nein), aber kann es eine Ausnahme geben?

Antwort1

Da die Anmeldung als Root keine gute Idee ist, werfen Sie einen Blick auf die Manpage von sshd:

PermitRootLogin

Gibt an, ob sich root mit ssh(1) anmelden kann. Das Argument muss „yes“, „without-password“, „forced-commands-only“ oder „no“ sein. Der Standardwert ist „yes“.

Wenn diese Option auf „ohne Passwort“ gesetzt ist, ist die Passwortauthentifizierung für Root deaktiviert.

Wenn diese Option auf „Nur erzwungene Befehle“ eingestellt ist, ist die Root-Anmeldung mit Authentifizierung über öffentlichen Schlüssel zulässig, jedoch nur, wenn die Befehlsoption angegeben wurde (was für die Erstellung von Remote-Backups nützlich sein kann, selbst wenn die Root-Anmeldung normalerweise nicht zulässig ist). Alle anderen Authentifizierungsmethoden sind für Root deaktiviert.

Wenn diese Option auf „Nein“ gesetzt ist, darf sich Root nicht anmelden.

Sie können es also verwenden, PermitRootLogin without-passwordum die Authentifizierung mit privatem/öffentlichem Schlüssel zuzulassen und gleichzeitig die Kennwortauthentifizierung zu unterbinden, oder um PermitRootLogin forced-commands-onlyIhnen die Anmeldung als Root zu ermöglichen, jedoch keinen interaktiven Zugriff zu ermöglichen.

Im letzteren Fall müssen Sie die Datei bearbeiten authorized_keys, um anzugeben, welcher Befehl für die Protokollierung durch den Benutzer aktiviert wird, und zwar wie folgt:

command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)

oder noch besser, erlauben Sie die Root-Anmeldung mit erzwungenen Befehlen nur von einer bestimmten IP-Adresse aus:

from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)

verwandte Informationen