私は2台のマシンを両方ともCentOSlinuxを実行しており、1台は実際のIPアドレス(foo)を持つ公開マシンです。もう1つは、非常に制限の厳しいファイアウォールの背後にあるクライアントのサイトにあり、実際のIPはなく、ポートをナッティングしたり開いたりする可能性はありません(バー)。
私はbarからfooにsshできますが、明らかにその逆はできません。
理想的には、ファイルを送信したり、リモートで作業したりできるように、fooからbarにsshできるようにしたいと思います。これを機能させるための最善の方法についてのヘルプやアドバイスをいただければ幸いです。インターネット上で、 ssh経由でVPN接続をセットアップすることは可能であるはずですが、それを理解することはできません。
ジョナ
Centosでは、答えは次のようになります。
バー(制限されたマシン)で、次のコマンドを実行します。
ssh -N -R 1234:localhost:22 foo.theinternet.com
次に、foo(開いているマシン)で次のコマンドを実行します。
ssh -p 1234 localhost
これには改良が必要だと思いますが、グーグルを始めるには十分だと思います。
私を正しい軌道に乗せてくれたpkaedingに感謝します。
これはあなたのためにそれをするべきです(バーから):
ssh -R2222:localhost:22 foo
次に、fooで:
ssh localhost -p 2222
最初の接続でリモートポートフォワードが開かれ、fooのポート2222がbarのポート22に転送されます。したがって、fooのポート2222にsshを実行すると、実際にはbarに接続していることになります。次に、そのssh接続を介して必要な転送を追加し、他のポートを転送できます。
フルトンネルであるtunデバイスを作成できます。要件は次のとおりです。おそらくクライアントとサーバーの両方でのルートアクセス、およびSSHの最近のバージョン。
PermitRootLoginはいPermitTunnelはい
トンネルはい
接続:ssh -w any:any.。
これにより、クライアントとサーバーの両方にtun0デバイスが作成されます。 IPを設定する必要があります。
ifconfig tun0 192.168.55.1 pointopoint 192.168.55.2
ifconfig tun0 192.168.55.2 pointopoint 192.168.55.1
今ルート、NAT、何でも...
とにかく、barからfooに自動的に接続するためにこの方法をお勧めしません。非対話型の方法で。 TCPセッションが終了すると、自動的にリスポーンしません。おそらく、リスポーンさせることができます: http://www.deer-run.com/~hal/sysadmin /SSH-SyslogNG.html
必ずしもSSHに基づくのではなく、2つのホスト間にVPNを作成する方法があるはずです。