Tera TermのSSHポート転送機能(パブリックIPを持たないAzure VMに接続)
Tera TermのSSHポート転送機能を利用した、SSHポートフォワーディングの設定方法です。
Azure環境上の仮想マシン(Azure VM)にアクセスして接続を確認します。
Azure上の仮想マシンには、ネットワークインターフェースなどに付与したパブリックIPでリモート接続できます。
すべての仮想マシンにパブリックIPを付与してアクセスを管理するのは面倒ですし、セキュリティ的にも好ましくありません。
Tera TermのSSHポート転送機能を使用して、パブリックIPを持たない仮想マシンにインターネットからリモート接続できます。
Tera TermのSSHポート転送機能の設定手順を確認します。
SSHポートフォワーディング設定を利用した仮想マシンへのリモート接続方法を確認します。
SSH接続の場合とリモートデスクトップ接続の場合について確認しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
Tera TermのSSHポート転送機能を使ったポートフォワーディングを検証する環境
SSHポートフォワーディングとは
SSHによって確立した通信経路を利用して、クライアントのポートをクライアントが直接接続できないターゲットサーバー(パブリックIPを持たない仮想マシンなど)に転送する仕組みを指します。
SSHポートフォワーディングを使って、パブリックIPを持たない仮想マシンに接続することができます。
パブリックIPを持つ仮想マシンを経由して、パブリックIPを持たない仮想マシンに接続します。
SSHポートフォワーディングは、SSHの通信を転送するだけでなく、HTTPSやRDPといったSSH以外の通信も転送することが可能です。
今回のSSHポートフォワーディング検証環境
3台の仮想マシンで、SSHポートフォワーディングの検証環境を構成しています。
ローカルPCから、リモートサーバーを経由して、ターゲットサーバーへリモート接続します。
SSHとRDPの転送を行います。
3台の仮想マシンは、以下のような構成で作成しています。
仮想マシン名 | OS | 役割 | パブリックIP | ローカルIP | ユーザー |
SSH-PortForward-01 | Cent OS 7.9 | リモートサーバー | 〇 | 192.168.1.4 | sshadmin |
test-linux-01 | Cent OS 7.9 | ターゲットサーバー | × | 192.168.1.5 | sshuser |
test-win-01 | Windows 2019 | ターゲットサーバー | × | 192.168.1.6 | rdpuser |
必要なネットワークセキュリティグループ(NSG)の受信セキュリティ規則設定
今回の構成で必要となるネットワークセキュリティグループ(NSG)の通信許可設定です。
ローカルPCからターゲットサーバーへのアクセス許可は必要ありません。
ターゲットサーバーのネットワークセキュリティグループ(NSG)に、インターネットからの受信セキュリティ規則(SSHやRDP)を作成する必要はありません。
仮想マシン名 | 必要なネットワークセキュリティグループ設定 | 必要な作業 |
SSH-PortForward-01 | ローカルPCから22番ポートの受信許可設定 | ローカルPC(インターネット)から22番ポートを受信許可設定を作成 |
test-linux-01 | リモートサーバーからの22番ポートでのアクセス許可 | デフォルトで仮想ネットワーク内のアクセス許可がされています 基本的には追加設定は必要ありません |
test-win-01 | リモートサーバーからの3389番ポートでのアクセス許可 | デフォルトで仮想ネットワーク内のアクセス許可がされています 基本的には追加設定は必要ありません |
—広告—
Tera TermのSSH転送機能を使ったSSHポートフォワーディング設定
仮想マシンでのSSHポートフォワーディング許可設定
CentOS 7.9の仮想マシンでは、デフォルトでSSHポートフォワーディングが許可されています。
仮想マシンに対する追加の設定は必要ありません。
Tera Termのインストール
Tera Termのインストール手順はこちらで紹介しています。
日本語化の設定方法や、文字化け対策についても紹介しています。
Tera TermのSSH転送機能を設定
Tera TermのSSH転送機能を使用して、SSHポートフォワーディングを設定します。
ターゲットとなるパブリックIPアドレスを持たないサーバーへアクセスする場合のローカルポート番号は、以下の通りです。
-
- SSH接続(ターゲットサーバー:test-linux-01):10022
- リモートデスクトップ接続(ターゲットサーバー:test-win-01):13389
Tera TermのSSH転送設定 | |
Tera Termの設定にあるSSH転送を選択します。 |
|
SSHポート転送の設定画面が表示されます。 |
|
test-linux-01への設定を作成します。 |
|
test-win-01への設定を作成します。 |
|
設定が2行追加されています。 |
|
このままだと、一旦Tera Termを閉じると設定が消えてしまいます。 |
—広告—
SSHポートフォワーディングを使ってパブリックIPアドレスを持たないサーバーへ接続
パブリックIPアドレスを持たないサーバーへSSH接続
パブリックIPアドレスを持たないターゲットサーバーへ、ローカルPCからSSH接続します。
接続にはSSHポートフォワーディングを使用します。
-
-
- 接続手順(ターゲットサーバーへの接続方法がSSHの場合)
- ローカルPC-リモートサーバー間でSSH接続を開始
- ローカルPC-ターゲットサーバー間のSSH接続を開始
- 接続手順(ターゲットサーバーへの接続方法がSSHの場合)
-
※ローカルPCとリモートサーバー間のSSHポートフォワーディングを切断すると、ローカルPCとターゲットサーバー間の接続も切断されます。
パブリックIPアドレスを持たないサーバーへリモートデスクトップ接続
パブリックIPアドレスを持たないターゲットサーバーへ、ローカルPCからSSH接続します。
接続にはSSHポートフォワーディングを使用します。
-
-
- 接続手順(ターゲットサーバーへの接続方法がリモートデスクトップ接続の場合)
- ローカルPC-リモートサーバー間でSSH接続を開始
- ローカルPC-ターゲットサーバー間でリモートデスクトップ接続を開始
- 接続手順(ターゲットサーバーへの接続方法がリモートデスクトップ接続の場合)
-
※ローカルPCとリモートサーバー間のSSHポートフォワーディングを切断すると、ローカルPCとターゲットサーバー間の接続も切断されます。
最後に
今回は、SSHポートフォワーディングを使用した仮想マシンへの接続を試してみました。
踏み台となる仮想マシンを経由して、パブリックIPを持たない仮想マシンにアクセスできることを確認しました。
SSHだけでなく、RDPやHTTPなども利用可能なため、様々な用途に使えそうです。
引き続き、いろいろ試してみたいと思います。