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