
Auf meinem Server habe ich mehrere öffentliche SSH-Schlüssel in ~/.ssh/authorized_keys
.
Ich möchte einen Schlüssel vorübergehend blockieren/verbieten/deaktivieren. Ich möchte verhindern, dass sich der Benutzer jetzt mit diesem Schlüssel anmeldet. Ich möchte ihn aber möglicherweise später wieder aktivieren (d. h. ich möchte den Schlüssel nicht vollständig löschen).
Was ist die richtige/empfohlene Vorgehensweise?
Soll ich einfach einen Kommentar #
an den Zeilenanfang setzen authorized_keys
, vor den Schlüssel?
Zur Klarstellung: Ich möchte keinen bestimmten Benutzer blockieren. Ein Benutzerkonto wird von mehreren Personen gemeinsam genutzt, wobei sich jede Person mit ihrem eigenen SSH-Schlüssel anmeldet. Ich möchte einen bestimmten SSH-Schlüssel blockieren.
Antwort1
Sie können der Taste einen erzwungenen Befehl voranstellen, der dem Benutzer mitteilt, was passiert. Beispiel:
restrict,command="printf 'Your key has been disabled\n'" ssh-rsa AAAAB2...19Q== [email protected]
oder für Openssh vor v7.2:
command="printf 'Your key has been disabled\n'",no-pty,no-port-forwarding ssh-rsa AAAAB2...19Q== [email protected]
Dann bekommen sie:
$ ssh servername
PTY allocation request failed on channel 0
Your key has been disabled
Connection to servername closed.
Antwort2
Ja, Sie können einfach #
(oder ein beliebiges anderes Zeichen, sofern die ursprüngliche Eingabe z. B. ssh-rsa
nicht mehr gültig ist) vor die entsprechende Zeile setzen.
Wenn Sie dies tun und das System auch die Anmeldung mit Klartext-Passwort zulässt, wird der Benutzer zur Anmeldung nach einem Passwort gefragt. Sie sollten daher überprüfen, ob dem Konto kein (bekanntes) Passwort zugeordnet ist.