rsyncで多段ssh使いたいときの簡単な書き方

多段 ssh した先のサーバに rsync したくなったのでman rsyncしたら、

-e 'ssh -o "ProxyCommand nohup ssh firewall nc -w1 %h %p"'

という例が書いてあったんですが、これ段数が増えると

-e ’ssh -o "ProxyCommand nohup ssh -o \"ProxyCommand nohup ssh firewall1 nc -w1 %h %p\" firewall2 nc -w1 %h %p"’

みたいにクオートのエスケープが増えてくのがすごいだるいなーと思いました。

んで、多段 ssh といえばssh hoge -t ssh fugaみたいなやり方もあって、これでいんじゃね?と思ったら案の定できました。ただ、-t付けてると警告でるので削除してあげるといいです。こんな感じ。

$ rsync -av -e 'ssh gateway1 ssh gateway2 ssh' /path/to/file host:/path/to

確認したところ、踏み台サーバに無駄なファイルができることもないみたいなので、いい感じ。