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