TeraTermを利用したSSHポート転送

TeraTermを利用したSSHポート転送で自分がやりたいことを解説してたものがないのでメモ。
今回想定している状況は図のような状況。

つまり、自分のPCとサーバBは直接繋がってはいないけど、サーバAを経由することで接続できるというような状況を考える。
手順は以下のようになる。

  1. TeraTermの設定でSSH転送で転送先をサーバBにする。
  2. 上のTeraTermでサーバBに接続する。
  3. 新しくTeraTermを起動し、localhostに接続

TeraTermの設定

まず、TeraTermを起動する。

上のような画面がでると思うがとりあえず「キャンセル」を押し、「設定」から「SSH転送」を開く。

「追加」を押すと上のような画面になる。二つの設定があるが。

  • ローカルの方は、ローカルへのアクセスをリモート側ホストに転送する設定。
  • リモートサーバの方は、リモートサーバへのアクセスをローカルへ転送する設定。

今回必要なのは、前者なので前者の設定をする。

ローカルのポート:localhostのこのポートへのアクセスを転送する(例えば12345)。使用してないポートなら何でも良い。
リッスン:localhostの受信用のポート。特にこだわりがなければ設定しなくて良い。
リモート側ホスト:サーバBのアドレス(例えば2.2.2.2)を入れる。
ポート:サーバBの接続したいポート(例えば2222)を入力する。

以上を設定すれば、OK→OKで設定画面を閉じる。

TeraTermで接続

次に「ファイル」→「新しい接続」でサーバASSHで接続する。この場合は、

アドレス:1.1.1.1
ポート:22

SSH接続する。
接続が完了したらこのTeraTermを閉じずに(接続したまま)新しくTeraTermを開く。

TeraTermlocalhostに接続

新しく開いたTeraTermlocalhostに接続する。つまり、

今回は

アドレス:locahost
ポート:12345

で接続をする。

おまけ

PCの構成が以下のようなとき、

SSH転送で設定する。「リモート側ホスト」のアドレスは、192.168.1.1とする必要がある。つまりは、サーバA側から見たサーバBのアドレスを入力するべし。