そんにゃわけでssh -A経由でrsync実行できるようにはにゃったのだが、sudoが挟まってると環境変数が引き継がれにゃいので公開鍵暗号が通らにゃい。
つまり
ssh -A host1 ssh host2 ls
は通るが、
ssh -A host1 sudo ssh host2 ls
は通らにゃい。
ssh -A host1 sudo var=$var ssh host2 ls
とすれば引き継げるはずにゃのだが、host1上での環境変数値で展開する方法がいまいち分からず。どういうエスケープすれば通るのかにゃぁこれ。.shにしてしまえばいいんだろうけど。
結局、visudoして環境変数を初期化しにゃいように変更。
ssh -A -o StrictHostKeyChecking=no host1 sudo rsync -e \'ssh -A -c arcfour,blowfish-cbc -o StrictHostKeyChecking=no\'-a --rsync-path=\'sudo rsync\' -v --inplace --stats --progress --human-readable --timeout=60 file user@host2:/tmp/
みたいにゃ書式で通るようににゃった。
sudoしてるのでniceかにゃにかつけたほうがいいかもやしれにゃい。
尚、visudoして変更しにゃくても、
ssh -A host1 sudo sh -c "env" \>/dev/null \; ssh -A host2 ls
でとりあえず延伸できるんで、途中の鯖でいろいろ追加しにゃいにゃらこっちで。