Fallback für autorisierte_Tasten

Oct 27 2020

Ich arbeite an einer Automatisierung, die eine Liste der zulässigen öffentlichen Schlüssel generiert und den Benutzer eines Servers überschreibt ~./ssh/authorized_keys. Gibt es eine Möglichkeit, einen Fehler in der Automatisierung zu verhindern, der mich vollständig vom Zugriff auf den Host abhält? Ich habe einige Einschränkungen. Der Server selbst stammt von einem VM-Image, das im Laufe der Zeit aktualisiert wird. Daher möchte ich keine zusätzlichen Benutzer erstellen.

Bisher habe ich gedacht:

  • Wäre es möglich, Zusammensetzung von zu haben authorized_keys. Wenn es 2 Dateien gäbe, könnte ich eine dynamische Datei und eine der Dateien mit einem statischen Fallback-Schlüssel haben.
  • Ich werde vor dem Überschreiben noch einen Test durchführen (z. B. den Inhalt und das Format der Schlüssel überprüfen), um sicherzustellen, dass ich keine leere Datei kopiere. Trotzdem könnte etwas schief gehen.

Ist Komposition eine Möglichkeit? Wenn nicht, haben Sie andere Ideen?

Vielen Dank im Voraus.

Antworten

2 satwell Oct 27 2020 at 20:47

sshdstandardmäßig prüft schon ~/.ssh/authorized_keysund ~/.ssh/authorized_keys2. Dies kann mit der AuthorizedKeysFileOption in konfiguriert werden, mit der /etc/ssh/sshd_configeine Liste mehrerer Dateien überprüft werden kann. Von sshd_config(5):

AuthorizedKeysFile

Gibt die Datei an, die die öffentlichen Schlüssel enthält, die für die Benutzerauthentifizierung verwendet werden. Das Format wird im Abschnitt AUTHORIZED_KEYS FILE FORMAT von sshd (8) beschrieben. Argumente für AuthorizedKeysFile akzeptieren die im Abschnitt TOKENS beschriebenen Token. Nach der Erweiterung wird AuthorizedKeysFile als absoluter Pfad oder relativ zum Basisverzeichnis des Benutzers angesehen. Es können mehrere Dateien aufgelistet werden, die durch Leerzeichen getrennt sind. Alternativ kann diese Option auf "Keine" gesetzt werden, um die Überprüfung auf Benutzerschlüssel in Dateien zu überspringen. Der Standardwert ist ".ssh / autorisierte_Tasten .ssh / autorisierte_Tasten2".