Ich möchte die Schlüssel in zwei separaten Dateien angeben können, von denen eine benutzergesteuert und die andere automatisch von einem Tool generiert wird.
Wie kann ich erreichen, dass eine Datei wie diese ~/.ssh/authorized_keys_generated
beim Login auch auf Schlüssel überprüft wird?
Antwort1
Hängen Sie einfach den Namen der Datei neben den alten an.
AuthorizedKeysFile ~/.ssh/authorized_keys ~/.ssh/authorized_keys_generated
Antwort2
Das ist nicht genau Ihre Frage, aber Sie könnten auch verwendenAuthorizedKeysCommand
in der SSH-Konfigurationsdatei. sshd
Startet den Befehl mit dem Benutzer als erstem Parameter und die Standardausgabe des Skripts sollte ein Zeichenfolgen-Matching authorized_keys
-Format aufweisen.
Sie könnten ein Skript wie das folgende verwenden:
#!/bin/bash
for file in /home/$1/.ssh/*.pub; do
cat $file;
done
Dadurch werden alle Dateien im öffentlichen Schlüssel in wiedergegeben ~/.ssh
und Zugriff auf jeden darin enthaltenen Schlüssel gewährt.
Aber es steckt noch mehr dahinter. Es AuthorizedKeysCommand
könnte beispielsweise verwendet werden, um einen Autorisierungsserver aufzurufen, der basierend auf Ihrer Geschäftslogik Zugriff gewährt. Es ist ein leistungsstarkes Tool.