SSH 비밀번호가 필요하기 때문에 sudo와 함께 borgbackup 스크립트를 사용할 수 없습니다.

SSH 비밀번호가 필요하기 때문에 sudo와 함께 borgbackup 스크립트를 사용할 수 없습니다.

borg 백업을 사용하려고 하는데 SSH에 문제가 있습니다. /var/www/html과 같은 일부 루트 파일을 백업 중이므로 루트 권한이 필요하므로 백업 스크립트를 루트로 실행해야 하지만 루트로 실행하면 스크립트이기 때문에 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 개인 키를 루트 사용자에게 복사했는데 이제 작동합니다.

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

관련 정보