GNU/Linux >> Linux の 問題 >  >> Linux

リバース (リモート) SSH トンネルを介した SSH 接続

あなたが言及しているのは「SSH REMOTE FORWARDING」であり、「ma​​n ssh」で適切に説明されています 」、「-R」について "オプション。

> man ssh
[...]
 -R [bind_address:]port:host:hostport
    Specifies that the given port on the remote (server) host is to 
    be forwarded to the given host and port on the local side.
    This works by allocating a socket to listen to port on the remote 
    side, and whenever a connection is made to this port, the
    connection is forwarded over the secure channel, and a connection is 
    made to host port hostport from the local machine.
    [...]

あなたの文脈では、ここで:

  • ファイアウォールの背後にある LAN 内の Linux ボックス A (LINUX_BOX_A)。
  • インターネットからアクセスできる固定 IP を持つ Linux サーバー B (SERVER_B)

SSH リモート転送を使用して、SERVER_B から LINUX_BOX_A に到達できます。唯一の条件は次のとおりです:LINUX_BOX_A MUST SSH 経由で SERVER_B に接続できます。

この目標を達成するには、以下が必要です:

<オール>
  • LINUX_BOX_A:
  • LINUX_BOX_A:~ $ ssh -R 2222:localhost:22 [email protected]_B

    これにより、LINUX_BOX_A から SERVER_B への ssh 接続が開かれ、リモートの着信接続に使用されます。

    上記の ssh 接続が確立されたら、次のことができます。

    1. SERVER_B:

    SERVER_B:~ $ ssh -p 2222 [email protected]

    このような SERVER_B で起動された ssh 接続は、以前の ssh 接続にバインドされている localhost でリッスンしている 2222 ポートに転送されます。したがって、これは「別の ssh 接続内の ssh 接続」になります。

    いくつかの追加メモ:

    • 最初の ssh 接続が何らかの理由 (非アクティブなためにローカル ファイアウォールによって強制終了されたなど) でタイムアウトまたはダウンした場合、remote-forward/remotely_connect ができなくなることを考慮してください。

    • 最初の ssh 接続を長時間アクティブにしておくことが重要であるため、「screen」セッション内でそのような ssh を起動すると便利な場合があります

    最後の注意:明らかに、上記のすべてには、この回答の範囲外である (潜在的に深刻な) セキュリティへの影響があります。


    Linux
    1. Linux でリバース SSH トンネルをセットアップする方法

    2. Linux で SSH 経由で X アプリケーションを実行できない

    3. HTTPS SSH トンネル

    1. SSH リモート アクセス VPN トンネル

    2. Linuxボックスを使用してssh経由でWindowsリモートデスクトップをトンネリングする方法は?

    3. 複数のホップを介して SSH トンネル経由でデータをコピーする

    1. Ssh – Teamviewerを置き換えるためのSshリバーストンネルを介したリモートデスクトップ?

    2. Ssh – Sshを介した別のマシンを介したトンネルトラフィック?

    3. リモートX接続(xdmcp対Ssh)でフォントを構成する方法は?