毎日RSnapshotを取得できるように、リモートサーバーにSSHキーベースのログインを設定しようとしています。私が使用しているキーは通常のユーザーキーですが、明らかにrootアクセス権がないため、rsnapshotがユーザーキーを使用してサーバーに接続すると、たとえば/ rootはバックアップされません。最も簡単な方法でRSnapshotを設定する最良の方法は何ですか?一般的なバックアップユーザーを作成してホイールグループに追加して終了する必要がありますか?
答え1
あまり簡単ではないアプローチは、接続root
に使用されるキーを実行のみに制限することですrsync
。これには/root/.ssh/authorized_keys
次のような項目が必要です。
from="192.0.2.*",command="/root/limit-rsnap" ssh-rsa AAAAB3N...
これは意図されたバックアップソース(すべての設定には適していない可能性があります)を制限します/root/limit-rsnap
。rsync
#!/bin/bash
shopt -s extglob
test -n "$SSH_ORIGINAL_COMMAND" || exit 1
case "$SSH_ORIGINAL_COMMAND" in
'rsync --server --sender -'+([vnlHogDtprRxe.isfLS])' --numeric-ids . '*)
RSYNCPATH="${SSH_ORIGINAL_COMMAND#rsync --server --sender -+([vnlHogDtprRxe.isfLS]) --numeric-ids . }"
test -e "$RSYNCPATH" && exec $SSH_ORIGINAL_COMMAND || exit 1
;;
*)
exit 1
;;
esac