2

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

0