원격 보그 백업을 루트로 사용하는 방법은 무엇입니까?

원격 보그 백업을 루트로 사용하는 방법은 무엇입니까?

루트로만 읽을 수 있는 일부 파일을 내 사용자만 액세스할 수 있는 원격 저장소에 백업하고 싶습니다. borg/etc소스 코드 로 실행 하면 permission-denied특정 파일을 읽으려고 합니다(예 /etc/crypttab: borg루트로 실행 하면 파일을 읽을 수 있지만 로컬 사용자가 원격 저장소 SSH 액세스에 액세스할 수 없기 sudo때문에 저장소에 쓸 수 없습니다). root, 저장소에 대한 저장소 키가 없습니다(즉, /root/.borg/존재하지 않습니다).

요약하자면:

$ borg create ssh://me@remote:/backup/my_repo.borg::demo /etc

/etc내 파일 중 일부를 읽을 수 없기 때문에 오류가 발생합니다.백업을 원한다. 그리고

$ sudo borg create ssh://me@remote:/backup/my_repo.borg::demo /etc

ssh://me@remote루트에는 저장소에 대한 액세스 권한이나 권한이 없기 때문에 실패합니다 .

이제 확실한 해결책은 루트 SSH 액세스 권한과 저장소 키를 부여하는 것이지만 더 나은 솔루션이 있는지 궁금합니다.

답변1

sudo를 통해 borg를 루트로 실행하면 사용자가 생성한 키가 아니라 루트에서 생성된 키를 사용하게 됩니다. 루트는 사용자의 개인 키를 사용하도록 구성되지 않았습니다(액세스 권한은 있지만).

새 SSH 키를 생성하고( 를 사용하여 sudo ssh-keygen) 원격 측에서도 해당 키를 수락( sudo ssh-copy-id me@remote비밀번호를 사용 및 입력)하여 이 문제를 해결해야 합니다.

또 다른 (그러나 그리 좋지는 않은) 해결책은 루트로 명령을 실행할 때에도 사용자의 SSH 키를 사용하는 것입니다: export BORG_RSH='ssh -i ~/.ssh/id_rsa' && sudo borg create ssh://me@remote:/backup/my_repo.bor::demo /etc— 하지만... 하지 마세요;)

관련 정보