インターネット上のサーバの特定ポートに手元のPCから繋ぎたい。
(例えば 、パブリッククラウドのサーバのRDP用 3389 ポートへ接続(リモートデスクトップ接続)したい。)
という状況でも
企業内だと、ファイアウォールで対象ポートでの通信が許可されおらず、そのままでは接続できないというケースは結構あると思います。
そういうケースの一つの対処策として、ファイアウォールの外のSSHサーバを踏み台にしてSSHトンネルで接続するという方法になると思います。
サーバと通信するための各種クライアントツールは、組み込みでSSHポートフォワーディング(SSHトンネリング)の設定をできるケースもありますが、
そうでない場合は、そのツールとは別で 何かしらポートフォワード をしてあげる必要があります。
例えば、ターミナルソフトの RLogin での設定方法は以下のようになります。
踏み台にするSSHサーバへの接続の設定
踏み台用SSHサーバへの接続の設定です。通常のssh接続の設定と何も変わりません。(接続先が踏み台となるサーバというだけです)
オプション設定 > サーバ で以下設定をする
- ホスト名
- 踏み台にする SSHサーバ の IPアドレス or ホスト
- ログインユーザ名
- ssh接続する ユーザ名
- SSH認証鍵
- (通常こういうケースは、公開鍵認証方式だと思うので)クリックしてプライベートキーファイルを選択する
ポートフォワード(ローカルフォワード)の設定
ローカルでのポート転送設定を行います。
オプション設定 > プロトコル で「ポートフォワード」をクリック > 「新規」をクリック して以下設定をする
- Listened
- Local のラジオボタンを選択
- Host Name
- localhost (固定値)
- Port
- 適当な値 (もともと繋ぎたかったport + 10000 とかが分かりやすかもしれないです)
- Connect
- Host Name
- 実際に接続するサーバの IPアドレス or ホスト
- Port
- もともと繋ぎたかったPort (上記の画面例では RDP につなぎたい前提なので 3389)
- Host Name
接続
設定後は、RLoginで設定したEntryでの接続を行います。
こうするとSSHサーバへ接続して、かつ localhost に設定したポートでの待ち受けが開始されます。
実際に接続する際は、ポートフォワードで設定したポートへ接続します。サーバ名は localhost。
上記の設定例なら localhost:13899 に接続します。