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 件のコメント:
コメントを投稿