Lassen Sie systemd passwortgeschützte SSH- und GPG-Schlüssel verwenden

Lassen Sie systemd passwortgeschützte SSH- und GPG-Schlüssel verwenden

Ich habe Obnam Backup so eingerichtet, dass es ein SFTP-Backup des Systems auf einem externen Server durchführt. Wenn ich den Befehl ausführe, wird er ordnungsgemäß ausgeführt.

Die Verbindung zum SFTP erfolgt über meinen SSH-Schlüssel. Und der Inhalt wird mit meinem GPG-Schlüssel verschlüsselt.

Ich versuche, systemd dazu zu bringen, es jeden Tag automatisch auszuführen.

Ich habe also eins backup.servive, das so aussieht:

[Unit]
Description="Online Backup"
Requires=network-online.target
After=network-online.target

[Service]
User=my_user
ExecStart=/path/to/my/backup/script

Und dann habe ich auch eine Timer-Einheit erstellt backup.timer:

[Unit]
Description="Run backup daily and on boot"

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d

[Install]
WantedBy=timers.target

Mein Problem ist jetzt, wie ich meine SSH- und GPG-Schlüssel integriere.

Wenn ich den Dienst damit ausführe, systemctlschlägt das Skript (das bei manueller Ausführung funktioniert) jetzt mit einer SSH-Ausnahme fehl, was meiner Meinung nach daran liegt, dass ich keinen Zugriff auf mein Kennwort für diesen Schlüssel habe.

Ich vermute, dass mit dem GPG-Schlüssel dasselbe Problem auftreten würde, sollte das Skript an den Punkt gelangen, an dem es ihn zum Verschlüsseln des Inhalts verwendet.

Die Frage ist also im Moment, wie man systemd Zugriff auf solche Passwörter gewährt. Ein Äquivalent zum SSH-Agent und Schlüsselbund, den ich verwende, wenn ich es manuell ausführe.

verwandte Informationen