ジャンプホストがAWS Cloud9と連携する方法を理解しようとしています。下の写真はからのものです。ブログ投稿(私の準備サーバーから)このトピックに関する記事を書いています。シーン全体(3,000語未満)については、ブログ投稿をご覧ください。
以下は、管理者がクライアント(ノートブック)を使用して実行する4方向の初期化順序です。
-
管理者は、
$C9_TARGET_HOST
(コマンドライン)ターミナルを使用してターゲットサーバー()にログインし、ターミナルを開いたままにします。 -
管理者は2番目の(コマンドライン)端末を使用してジャンプホスト()にログインし、
$C9_JUMP_HOST
端末を開いたままにします。 -
管理者は
$C9_JUMP_PORT
ジャンプホストでポート()を開き、ssh
AWS Cloud9への接続を受け入れます。 - 管理者は、WebブラウザをCloud9 Webコンソールに接続してCloud9環境の定義を開始します。
- 管理者は、Cloud9 SSHキーを提供するWebページに到達すると、そのキーをクリップボードにコピーします。
-
管理者は、ターゲットサーバーに接続されたオープンターミナルを使用して、次のことを行います。
-
にCloud9 SSHキーを追加します
~/.ssh/authorized_hosts
。新しいhost
ブロックを追加すると、~/.ssh/config
ターゲットサーバーからジャンプホストへのリバースSSHポート転送トンネルをより簡単に定義できます。 - 管理者は、ジャンプホストに接続されたオープンターミナルを使用して、次のことを行います。
-
Cloud9 SSHキーを
~/.ssh/authorized_hosts
。host
~/.ssh/config
ssh
-
管理者は、
ssh
ターゲットサーバーからジャンプホストへのリバースポート転送トンネルを定義しました。つまり、ジャンプホストがジャンプで指定されたポート()との接続を確立すると、ssh
以下を介してターゲットサーバーに再接続されます。トンネルおよび転送コマンド$C9_JUMP_PORT
ホスト。SSH -fNR\ $C9_JUMP_HOST:$C9_JUMP_PORT:localhost:22 $C9_JUMP_USER@$C9_JUMP_HOST
「-T」オプションが役に立つかどうか疑問に思います。 「nohup」を使うべきですか? -
管理者は、作成した定義を使用してリバースポート転送トンネルを作成します。
nohup
管理者がログアウトした後もそのままになるようにトンネルを作成するときに使用されます。 - Cloud9 Webコンソールでジャンプホストを定義したら、管理者は次へボタンをクリックします。
- Cloud9 はジャンプホストに接続しようとします。
- Cloud9 はジャンプホストを介してターゲットサーバーに接続しようとします。
- 成功すると、Cloud9 は管理者ウェブページを次のステップに進みます。
- 管理者は、Cloud9環境が定義されるまで表示される各次のボタンをクリックします。
解決策がある人なら誰にでもブログ投稿を通じて功労を認めたいと思います。
答え1
その場合は、ターゲット(プライベートサーバー)からジャンプホスト(パブリックサーバー)にリバーストンネルを設定して、AWSからターゲットへの接続を確立できるようにすることです。
この場合、宛先にリバーストンネルを構築する必要があるため、次のように呼び出すことができます。
ssh -f -N -R $JUMPER:$PORT:localhost:22 $USER@$JUMPER
リバーストンネルを開いたままにするには、「ssh」の代わりに「autossh」を試すこともできます。このコマンドは、モニター・ポートに追加のパラメーターを使用します。
autossh -M $MONITORPORT -f -N -R $JUMPER:$PORT:localhost:22 $USER@$JUMPER
$PORT:localhost:22 部分のみを使用する場合は、次の 2 つのステップを経て目標に達する必要があります。
- AWS でサーバーをジャンプするための SSH
- リバーストンネリングを使用するには、ジャンプサーバーでlocalhost:$ PORTでSSHを実行します。
助けてくれたら、ジョージ