通常、別のシステムを経由して接続するクラスターノードにrsyncします。
最初に接続するとします
ssh user@bridge
そしてそこから
ssh user@clusternode
次に、ワークステーションからclusternodeにrsyncを行います。私は次のことを行います:
Sshトンネルを開きます
ssh -L8000:clusternode:8000 user@bridge
ワークステーションからclusternodeにrsyncします
rsync -e "ssh -p8000" source user@localhost:destination
そして、それは動作しません、私は得る
ssh_exchange_identification: Connection closed by remote Host
なぜ機能しないのですか?私は何をしなければなりませんか?
私はここで多くの情報を見つけました:
http://toddharris.net/blog/2005/10/23/rsyncing-through-an-ssh-tunnel/
私の問題はブリッジと宛先の間の2番目の認証であることを理解したいと思うので、あまりエレガントではない方法2に変更しましたが、動作します。方法3を試したいのですが、rsyncデーモンを構成する方法がわかりません
これが私のために働いたものです。
バックグラウンドでコマンドを実行して、リモートホストにトンネルします。
ssh -N -L 2222:remote.example.com:22 bridge.example.com&
次に、このようにlocalhostにrsyncします:
rsync -auve "ssh -p 2222" . me@localhost:/some/path
このワンライナーをお試しください:
rsync -av -e "ssh -A root@proxy ssh" ./src root@target:/dst
Clusternodeのポート22に接続する必要があるため、トンネルは次のようになります。
ssh -L localhost:8000:clusternode:22 user@bridge