VNCを使用したBaschenホストからグラフィカルオペレーティングシステム(Red Hat)へのSSHトンネリング

VNCを使用したBaschenホストからグラフィカルオペレーティングシステム(Red Hat)へのSSHトンネリング

シナリオは次のとおりです。ホストは4つあります。

  • クライアント/ローカルホスト
  • AWSバスチョンホスト(ポート22のみ)
  • グラフィックデスクトップを持つEC2インスタンス(プライベートサブネット)
  • WebLogic Serverコンテナを実行するDockerを持つEC2インスタンス(グラフィックなし)

問題:Baschenホストを介してインターネットブラウザを介してこのWebLogicサーバーにアクセスできる必要があります。これで、Baschenホストのポート22しか使用できませんが、発信接続はすべて有効になります。

私の考えは、バスチャンホストを介してTightVNCビューアとSSHトンネルを使用してGUIインスタンスに到達することです。

今私の問題は、私の要塞ホストにユーザーのリスニングポート22を宛先ポート5905に転送する方法がわからないことです。要塞ホストへのルートアクセス権がありません。

これまで私が見つけたすべてのソリューションは、VNCを使用するのではなく、コマンドラインを介したSSHingに関連しています。可能な場合にのみ、ユーザーのためにポート22トラフィックをVNCポートに自動的に転送するには、バスチョンが必要ですが、100%必要ではありません。

public                 public                 private                private
[user/client] --22-->[bastion]--VNC:5905-->[VNC Server]--80/443-->[Docker/WLS]
GUI                     CLI                     GUI                    CLI 

答え1

これは非常に一般的な現象であり、パブリッククライアントシステムが続いていますssh -L 5905:vnchost:5905 user@bastionhostvncviewer localhost:5905

-L 5905:vnchost:5905(または次のように作成されます)パラメータは、-L localhost:5905:vnchost:5905SSHクライアントノードがポートを開いてクライアントのVNCビューアが接続を開始しようとしたときに、localhost:5905BaxchenホストのSSHサーバーデーモンがトンネリングを試みる必要があることを意味します。vnchost:5905

接続を確立できない場合、SSHセッションにエラーメッセージが表示されます(VNCクライアントでもエラーが発生する可能性があります)。

答え2

同じ設定があり、bastionが要塞のホスト名、10.1.1.1がec2インスタンスである次のように実装しました。

ssh -v -l user -L 5901:localhost:5901 bastion ssh -o StrictHostKeyChecking=no -L 5901:localhost:5901 -N [email protected]

次に、vncを介してlocalhost:5901に接続します。

関連情報