---------- /| /| ------------
| 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を使用する他のコマンドとも共有されます。つながる