3番目のシステムでは、リモートアクセス用のSSHトンネル自体を保持します。

3番目のシステムでは、リモートアクセス用のSSHトンネル自体を保持します。

次のことが可能かどうかを理解しようとしています。

Tリモートで(可能な限り)アクセスしたいマシン(ターゲット)があるとしましょうssh

Tルーター/ファイアウォールの背後にあるため、Rポート(たとえば)をポート22に転送できません。R全体的に直接的なアプローチは不可能です。22TsshT

今言う

  • 私はA私が完全に制御できる機械を持っています。

  • TからSSH経由で接続できますA

      T:  ssh user@A
    

    効果がありました。

質問1:Tのシェルにアクセスするために使用できますかA?つまり、Tで作成された接続をでとして使用Aできますか?TA

   T ---> ssh ----> A          # this is possible               

   T <--- ? shell ? <---- A    # is this possible?

質問2:もし第1四半期可能です:

L3番目のコンピュータ(ラップトップなど)があり、私の目標はTシェルにアクセスすることですL。 SSHトンネルを介してA接続できますかL

   T ----> ssh ----> A <---- ssh < ---- L

   T <-------  ?? %&£€ ?? <------- L       # is this possible?

助けてくれてありがとう。

答え1

これは確かに可能です。

第1四半期:SSH経由で駅トンネルは可能ですか?

はい。予約されたトンネルへの回答は次のとおりです。

第2四半期:トンネルを予約できますか?

はい、これは基本的にトンネルを通るSSHトンネルです。トンネルへのトンネリングへの答えは次のとおりです。

答え2

私はいつもこれをやってきましたが、反対方向でした。まず、TからAのローカルホストにリバースSSHトンネルを設定し、LからATトンネルのAに向かってトンネリングし、SSHを使用してLAトンネルのローカル部分に接続し、LATを介してリモートで接続します。

私の例では、AはSSH接続のためにポート22123をリッスンしています。
ユーザー名userをローカルに使用し、user.nameをリモートで使用します。
ローカルで ~/.ssh/A_id_rsa と ~/.ssh/T_id_rsa という名前のキーがあり、それぞれ user.name で 2 台のマシン A と T に接続されています。

これはTAにトンネリングしてTで実行する必要があるスクリプトです。

#!/bin/bash

SSH_KEY="-i /home/user.name/.ssh/A_id_rsa"
REMOTE_USER="ユーザー名"
GATEWAY_MACHINE="A.domain.com"
GATEWAY_SSH_PORT="22123"

ssh -N -R2201:127.0.0.1:22 -p ${GATEWAY_SSH_PORT} ${SSH_KEY} ${REMOTE_USER}@${GATEWAY_MACHINE}

これはLAにトンネリングし、Lで実行する必要があるスクリプトです。

#!/bin/bash

SSH_KEY="-i /home/user/.ssh/A_id_rsa"
REMOTE_USER="ユーザー名"
GATEWAY_MACHINE="A.domain.com"
GATEWAY_SSH_PORT="22123"

ssh -N -L2201:127.0.0.1:2201 -p ${GATEWAY_SSH_PORT} ${SSH_KEY} ${REMOTE_USER}@${GATEWAY_MACHINE}

次に、トンネルTのローカル側を呼び出すことができるように、localhostの/ etc / hostsファイルに次のものを追加しました。

127.0.0.1T

次に、このスクリプトを使用します。この場合は、/usr/local/bin/Tという名前で接続します。

#!/bin/bash

SSH_KEY="-i /home/user/.ssh/T_id_rsa"
REMOTE_USER="ユーザー名"

ssh -p 2201 ${SSH_KEY} ${REMOTE_USER}@T

TA トンネルは逆方向なので -R であり、LA トンネルはローカルなので -L です。スクリプトの -N は A のシェルを起動しないため、通常実行するか & を使用してバックグラウンドで実行するか、パスワードを入力して ctrl+Z を押し、A_id_rsa をロードしていない場合は bg を実行して実行します。私のキーチェーンに入れてロックを解除してください。

関連情報