SSHパスワードが必要なため、sudoでborgbackupスクリプトを使用することはできません。

SSHパスワードが必要なため、sudoでborgbackupスクリプトを使用することはできません。

borgバックアップを使用しようとしていますが、SSHに問題があります。 /var/www/htmlのようないくつかのルートファイルをバックアップしているので、root権限が必要なので、バックアップスクリプトをrootとして実行する必要がありますが、rootとして実行するとスクリプトなのでSSHキーが機能しないようです。 cronを使って実行したいです。つまり、毎回パスワードを入力できないという意味です。ユーザーからスクリプトを実行すると、SSHキーは機能しますが、一部のファイルの場所に対する権限が拒否され、バックアップは機能しません。

私はHetznerと一緒にライブラリにバックアップする作業をしています。

私のスクリプト:

#!/usr/bin/env bash

LOG="/var/log/borg/backup.log"
BACKUP_USER="XXXXXXX"
REPOSITORY_DIR="backups/Node1"
REPOSITORY="ssh://${BACKUP_USER}@${BACKUP_USER}.your-storagebox.de:23/./${REPOSITORY_DIR}"
exec > >(tee -i ${LOG})
exec 2>&1

echo "###### Backup started: $(date) ######"

echo "Transfer files ..."
BORG_PASSPHRASE='XXXXXXXXXX' borg create -v --stats                   \
    $REPOSITORY::'{now:%Y-%m-%d_%H:%M}'  \
    /root                                \
    /etc                                 \
    /var/www                             \
    /home                                \
    --exclude /dev                       \
    --exclude /proc                      \
    --exclude /sys                       \
    --exclude /var/run                   \
    --exclude /run                       \
    --exclude /lost+found                \
    --exclude /mnt                       \
    --exclude /var/lib/lxcfs

echo "###### Backup ended: $(date) ######"

答え1

私はSSH秘密鍵をrootユーザーにコピーしましたが、これで動作します。

cp /home/user/.ssh/rsa_pub /root/.ssh/rsa_pub

関連情報