45

通常は別のシステムを経由して接続するクラスター ノードに rsync したい:

最初に接続するとします

  ssh user@bridge 

そしてそこから

  ssh user@clusternode

ここで、ワークステーションからクラスターノードに rsync したいと考えています。私は次のことを行います:

  • ssh トンネルを開きます

    ssh -L8000:clusternode:8000 user@bridge
    
  • ワークステーションからクラスターノードに再同期します

    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 デーモンの設定方法がわかりません。

4

3 に答える 3

39

これが私のために働いたものです。

バックグラウンドでコマンドを実行して、リモート ホストにトンネリングします。

 ssh -N -L 2222:remote.example.com:22 bridge.example.com&

次に、次のように localhost に rsync します。

rsync -auve "ssh -p 2222" . me@localhost:/some/path
于 2014-01-30T18:57:05.277 に答える
5

clusternode のポート 22 に接続する必要があるため、トンネルは次のようになります。

ssh -L localhost:8000:clusternode:22 user@bridge
于 2013-12-17T19:52:56.590 に答える