ローカルポートフォワードで外部サーバに接続する
サーバに SSH 接続はできるが,外部に公開しているポートが接続しているものの他にはなく,これでは余ってるポートを使ってアプリを動かすなんてことができないので,ローカルポートフォワーディングすることにしました.
ポートフォワーディング
サーバには SSH で接続するのが一般的ですが,それが得策でなかったり不可能であったりすることもあります.また,データベースサーバなど SSH 接続ができないように組まれているものもあります.
ここで登場するのがポートフォワーディングです.
接続先のアドレスとポート番号がわかれば,ファイアウォールなどを通り抜けて接続することができます.
ポートフォワーディングには 3 タイプあります.
ローカルポートフォワーディング
パソコンからサーバに接続するタイプで,SSH 接続を利用して行います.最も一般的なポートフォワーディングで,サーバのデータを手元のパソコンで扱うときなどに利用します.
リモートポートフォワーディング
サーバからクライアントに接続すること.SSH 接続を用いる方式とトンネリング方式の 2 種類があるようです.
レンタルサーバでよくある FTP とか,会社や学校で見られるリモートデスクトップ環境とかがこれに当たります.
動的ポートフォワーディング
クライアントが外部サーバに安全に接続するための仲介役的なものらしいです.今回は関係ないのでスルー.
因みに,Dynamic Port Forwarding から DPF とも言われるようです.
TeraTerm でローカルポートフォワーディング
Windows を使っているので TeraTerm で SSH 接続していたのですが,ポートフォワーディングにも対応しているらしい!ということで,これを使います.
控えておくこと
- 接続するサーバのアカウント,パスワード
- 接続先サーバの IP アドレス
- 接続するポート番号
- ローカル環境で利用するポート番号
ローカルのポート番号は空いているものなら何でもいいです.
設定方法
TeraTerm で接続したいサーバに普通に SSH 接続し,アプリケーションの Setup > SSH Forwarding... を開きます.
Add... で接続先を追加します.入力内容は以下の通り.
- Forward local port: ローカル環境で利用するポート番号
- to remote machine: 接続先サーバのアドレス
- port: 接続するポート
- listen: 空白
これで OK を押したら設定は完了です.
ローカルから接続する
HOST を localhost に,TCP Port#: は Forward local port で設定したポートにして接続します.
接続先が見つかるとサーバのアカウントとパスワードを聞かれます.間違えずに入力すれば接続完了!
参考:Teraterm で SSH ポートフォワード~トンネリング~ | Punio Kid Works
最後に
この世界には知らないことがたくさんあるんですね.