2013/10/15

rsyncでssh接続先のポート番号を指定する

rsync でデータの常時バックアップをやっているのですが,サーバに直接SSHで接続できないので,なんとか抜け道を探していました.踏み台サーバはあるので,そこを経由すれば良いだけなのですが...

■方法1(失敗)
~/.ssh/config にProxyCommand で中継サーバを記述する

Host target
  HostName コピー元サーバ
  ProxyCommand ssh 中継サーバ nc -w 5 %h %p

とすれば,
% ssh target
で直接つながるのでいけると思ったのですが,rsync だとセッションが切れてしまってどうにもなりませんでした.

■方法2
じゃ,よくやる方法として(面倒だけど)SSHのポートフォワーディングでやろうとしたのですが,rsync のSSH にポートを教える方法が....

トンネル作成:
 % ssh 10022:コピー元サーバ:22 中継サーバ
でトンネルを作成してい,別のターミナルから
 % rsync -e "ssh -p 10022" localhost:/targetDIR ./
とかで出来ました!

(自分用メモです....)
参考