SSHトンネルを介したrsync

SSHトンネルを介したrsync
----------         /|                      /|             ------------
|  Home  |        | |                     | |             |    Work   |
|        |--------| |---------------------| |-------------|           |
|ssh-serv|   Firewall:Port-22=open     Firewall           |           |
----------        | |                     | |             ------------
                  |/                      |/

上の写真のシーンはこんな感じです。

ワーカーは仕事用コンピュータにアクセスでき、ホームSSHサーバーも設定されています。従業員はPC@Homeから仕事用コンピュータにアクセスしようとしますが、会社のポリシーによってFirewall@Workを介したアクセスは制限されますが、リバースSSHトンネルを介して接続することは許可されます。したがって、ワーカーはWorkstation @ Workで次のコマンドを実行します。

ssh -fN -R 19999:localhost:22 Home-user@Home

これで、PC@Home で次のコマンドを実行し、Workstation@Work の SSH サーバーに接続できます。

ssh -v Work-user@localhost -p 19999

ワーカーは、rsyncを使用して既存のトンネルを使用して自分のPC@Homeから自分のワークステーション@Workにディレクトリをコピーできますか?

ベストアンサー1

あなたが探している機能は接続共有だと思います。ファイルに以下を追加します$HOME/.ssh/config

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

抜粋#1SSHでできますか?リモートサーバーを操作するための生産性のヒント

幸いなことに、OpenSSHには、接続サーバーに他の端末をすばやくインポートする機能である接続共有があります。

抜粋 #2

共有接続は複数のターミナルウィンドウに役立つだけでなく、リモートサーバー間でファイルを簡単にコピーすることもできます。 SSHを介してサーバーに接続し、scpコマンドを使用してファイルをコピーすると、scpは既存のSSH接続を利用します。 ...接続は、rsync、git、およびSSHを使用する他のコマンドとも共有されます。つながる

引用する

おすすめ記事