2011-11-10 15 views
6

私は解決したい特定のシナリオを持っています。パスワードなしログインが両方に取り組んでLinuxでのsshポート転送(トンネリング)

laptop -> remote_server_2 

laptop -> gateway -> remote_server_1 

と別のホスト:私は現在、ポート転送を介してホストに接続します。どちらのリモートサーバーも外部から見えません。今私はremote_server_1上でアクセスできるようにしたいと思うremote_server_2のサービスを実行しています。私は、remote_server_1から私のラップトップに、そして次にremote_server_2に逆ポート転送を設定する必要があると推測しますが、これを行う方法がわかりません。誰もこの前にこのような状況に遭遇しますか?

編集:ケースで 完全なソリューション誰がそれを必要とする:

mylaptop$ ssh -L 3001:localhost:3000 server_2 
server_2$ netcat -l 3000 

その後server_1からgateway経由のセットアップトンネルを:

ssh -t -t -L 3003:server_1:22 gateway 

その後server_1からアクセス:

ssh -R 3002:localhost:3001 -p3003 localhost 
echo "bar" | nc localhost 3002` 

とお待ちくださいserver_2bar :-)を表示します。

答えて

4

あなたはこれまで説明した通りです。サーバーをserver_2にセットアップします。

mylaptop$ ssh -L 3001:localhost:3000 server_2 
server_2$ netcat -l 3000 

server_1からアクセスできます。

mylaptop$ ssh -R 3002:localhost:3001 server_1 
server_1$ echo "foo" | netcat localhost 3002 

server_2fooが表示されます。

+0

これはほぼ同じですが、server_1までトンネルする必要があります。 mylaptop $ sshの-L 3003:ゲートウェイ:3002 SERVER_1 と mylaptop $ sshの-R 3003:私がしなければそうはlocalhost:3000 -p3003 localhostの 私は右の行にしていますか?助けてもserver1にはnetcatがありません(私はその上にadmin権限を持っていません) – tdc

+0

申し訳ありません、netcatはそこにncであることを実感しました。とにかくそれはまだかなり働いていない。 – tdc

+0

私はあなたに受け入れられた答えを与えるでしょう、それは私に行くための十分な手がかりを与えました - 私の編集で完全な答え。 – tdc

関連する問題