2023年4月16日日曜日

WindowsのSSHクライアントを使ってSSHトンネルする

SSHにはSSHトンネル(SSHポートフォワーディングとも呼ぶ)と呼ばれる機能があり、これを用いると接続先のSSHサーバを経由させて別のサーバにアクセスができるようになる。

SSHトンネルを用いることで、いわゆる踏み台サーバ(Jump Server)のみにSSH接続ができる環境において、踏み台サーバーを経由して直接背後のWindows ServerやWebアプリにアクセスができるようになる。

なお、SSHトンネルはTera Termの「SSHポート転送」からも実施することができるがGUIが操作が面倒だ。

本記事では、Windows標準のSSHクライアントを用いて、SSHトンネルするための手順を記載する。

環境

今回の手順を確認したOSは以下の通り。

  • SSHクライアント側
    • OS : Windows Server 2019
  • SSHサーバ側
    • OS : AlmaLinux 8.5

今回は以下図の通り、SSHサーバを経由して、Windows ServerへRDP接続とWebアプリへの接続ができることを確認してみる。

SSHトンネル手順

1. SSH接続時にSSHトンネルのオプションを指定

SSHトンネルを行う際は、-Lオプションを以下構文のように利用する。

ssh [ユーザ名]@[SSHサーバ] -L [ローカルポート]:[接続先サーバ]:[リモートポート]
※接続先が複数ある場合は、-Lオプションを複数指定する。

今回は以下コマンドを実行する。

PS C:\Users\winuser> ssh testuser@192.168.11.193 -L 33389:192.168.11.194:3389 -L 30443:192.168.11.161:443

2. 接続確認

SSH接続が成功すれば、SSHトンネル経由での接続ができるようになっている。SSHトンネル経由で接続する場合は、localhostまたは127.0.0.1に対して接続する。

SSHトンネル経由でRDP接続

「リモートデスクトップ接続」を起動し、localhost:33389で接続する。

以下の通り、問題なくリモートデスクトップ接続できた。

SSHトンネル経由でWebアプリ接続

ブラウザを開き、https://localhost:30443/で接続すると、以下の通り、問題なくブラウザでWebアプリ(今回はESXiのログイン画面)が表示された。

以上で、Windows標準のSSHクライアントを用いて、SSHトンネルするための手順は完了となる。

0 件のコメント:

コメントを投稿

人気の投稿