ローカルマシンをリモートサーバーにバックアップしています。ローカルマシン全体をバックアップしたいので、ローカルユーザーが通常アクセスできないファイルでも、Sudoを使用してバックアップしているので、コマンドはSudo rsync -M--fake-super --other-arguments / me@server:/backup/location
のようになります。
これには、sshがrootのssh構成、および明らかにセットアップされていない証明書を使用しようとするという問題があります。最近、~/.ssh/config
で定義されたエイリアスでサーバーを参照し始めましたが、メソッドが正しく機能しなくなりました。
問題は、Sudoのアクセス権を使用する方法はありますが、通常のユーザーのssh構成を維持する方法はありますか?
Sshキーを手動で選択するというBrianのアイデアに基づいた解決策にたどり着きました。これに、configへのパスを指定する-F
オプションを追加しました。これで、rsyncに追加する引数は次のようになります:-e "ssh -i $HOME/.ssh/id_rsa -F $HOME/.ssh/config"
。
次のように、「別の方法」でリモートマシンにSSHで接続し、そこからrsyncを実行する必要があると思います。 http://en.wikibooks.org/wiki/OpenSSH/Cookbook/Automated_Backup ==
$ rsync -e "ssh -t -l bkupacct" --rsync-path='Sudo rsync' -av [email protected]:/var/www/ /tmp/
Rootによって発信されたssh接続のログインユーザーを変更するには、/root/.ssh/config
で次の構文を使用します。
Host server
User nonrootusername
リモートサーバーにログインするためにRSAキーが必要な場合は、次のようにrsyncする公開キーの場所を指定します。
Sudo rsync -e "ssh -i /path/to/rsa/key.pub" ...
そのサーバーエイリアスをコメントアウトします。おそらくこれについてはまったく役に立たないでしょう。