Tera TermのSSHポート転送機能(パブリックIPを持たないAzure VMに接続)

Azure,Others,Tera Term,Virtual Machines

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への設定を作成します。
設定値を入力します。

  • ローカルポート
    • ローカルPCからターゲットサーバーへのアクセスに使うローカルのポート番号
    • 今回は10022を指定
  • リモート側ホスト
    • ターゲットサーバーのローカルIP
    • ターゲットサーバーのローカルIP(192.168.1.5)を指定
  • ポート
    • リモートサーバーからターゲットサーバーへのアクセスに使うポート番号
    • SSHのデフォルト値である22番ポートを指定

test-win-01への設定を作成します。
設定値を入力します。

  • ローカルポート
    • ローカルPCからターゲットサーバーへのアクセスに使うローカルのポート番号
    • 今回は13389を指定
  • リモート側ホスト
    • ターゲットになるサーバーのローカルIP
    • ターゲットサーバーのローカルIP(192.168.1.6)を指定
  • ポート
    • リモートサーバーからターゲットサーバーへのアクセスに使うポート番号
    • RDPのデフォルト値である3389番ポートを指定

設定が2行追加されています。
OKを選択します。

このままだと、一旦Tera Termを閉じると設定が消えてしまいます。
設定の保存を選択します。
teraterm.ini(Tera Termの設定ファイル)へ設定内容を書き込みます。

—広告—

SSHポートフォワーディングを使ってパブリックIPアドレスを持たないサーバーへ接続

パブリックIPアドレスを持たないサーバーへSSH接続

パブリックIPアドレスを持たないターゲットサーバーへ、ローカルPCからSSH接続します。
接続にはSSHポートフォワーディングを使用します。

      • 接続手順(ターゲットサーバーへの接続方法がSSHの場合)
        • ローカルPC-リモートサーバー間でSSH接続を開始
        • ローカルPC-ターゲットサーバー間のSSH接続を開始

※ローカルPCとリモートサーバー間のSSHポートフォワーディングを切断すると、ローカルPCとターゲットサーバー間の接続も切断されます。

SSHポートフォワーディングを使ったSSH接続

リモートサーバー(SSH-PortForward-01)(パブリックIPを持つ仮想マシン)へSSH接続します。

※通常のリモートサーバーのSSHポートへアクセスします。

ユーザー名とパスワードを入力しログインします。

※鍵認証の場合も同様です。

リモートサーバー(SSH-PortForward-01)にログインしました。
この状態のまま次に進みます。

新しい接続を選択します。

ホストにはlocalhostを設定します。
TCPポートにはSSH転送設定でローカルポートに指定した10022を入力します。

ターゲットサーバーのユーザー名とパスワードを入力します。

※鍵認証の場合は、ターゲットサーバーに指定した鍵ファイルを利用します。

ローカルPCからターゲットサーバーへ接続できることを確認できました。

パブリックIPアドレスを持たないサーバーへリモートデスクトップ接続

パブリックIPアドレスを持たないターゲットサーバーへ、ローカルPCからSSH接続します。
接続にはSSHポートフォワーディングを使用します。

      • 接続手順(ターゲットサーバーへの接続方法がリモートデスクトップ接続の場合)
        • ローカルPC-リモートサーバー間でSSH接続を開始
        • ローカルPC-ターゲットサーバー間でリモートデスクトップ接続を開始
      •  

※ローカルPCとリモートサーバー間のSSHポートフォワーディングを切断すると、ローカルPCとターゲットサーバー間の接続も切断されます。

SSHポートフォワーディングを使ったリモートデスクトップ接続

リモートサーバーへのSSH接続がされている状態で作業を開始します。

コンピュータ名にはlocalhost:13389を指定します。13389はSSH転送で設定したローカルポート番号になります。

※RDP接続時にポート番号を指定する場合は、接続先サーバーのIP:(コロン)接続時のポート番号になります。

ターゲットサーバーのID、パスワードを入力します。

リモートコンピューター名に、ターゲットサーバーのホスト名が入っている事を確認できます。
はいを選択し接続します。

ターゲットサーバーへ接続できました。

最後に

今回は、SSHポートフォワーディングを使用した仮想マシンへの接続を試してみました。
踏み台となる仮想マシンを経由して、パブリックIPを持たない仮想マシンにアクセスできることを確認しました。
SSHだけでなく、RDPやHTTPなども利用可能なため、様々な用途に使えそうです。

引き続き、いろいろ試してみたいと思います。

スポンサーリンク