Разрешить systemd использовать защищенные паролем ключи ssh и gpg

Разрешить systemd использовать защищенные паролем ключи ssh и gpg

Я настроил Obnam backup для создания 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 и keyring, которые я использую, когда запускаю его вручную.

Связанный контент