讓 systemd 使用受密碼保護的 ssh 和 gpg 金鑰

讓 systemd 使用受密碼保護的 ssh 和 gpg 金鑰

我已經設定 Obnam 備份來在外部伺服器上對系統進行 sftp 備份。當我運行該命令時,它會正確執行。

它連接到 sftp 的方式是使用我的 ssh 密鑰。它使用我的 GPG 金鑰對內容進行加密。

我試著讓 systemd 每天自動執行它。

所以我有一個backup.servive看起來像這樣的:

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

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

然後我還創建了一個計時器單元backup.timer

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

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d

[Install]
WantedBy=timers.target

我現在的問題是如何整合我的 ssh 和 gpg 金鑰。

如果我使用該systemctl腳本(手動執行時有效)運行該服務,現在會失敗並出現 SSH 異常,我認為這是由於無法存取該金鑰的密碼。

我猜想,如果腳本達到使用 GPG 金鑰來加密內容的程度,也會有同樣的問題。

所以目前的問題是如何讓 systemd 存取這些密碼?相當於我手動運行時使用的 ssh-agent 和密鑰環。

相關內容