2
3

More than 1 year has passed since last update.

Azure Bastion 経由で Windows (SSH), Linux (RDP) 接続を試してみる

Last updated at Posted at 2022-01-25

Azure Bastion を利用することでパブリック IP アドレスが付与されていないセキュアな環境の VM に対してもポータル経由で RDP, SSH 接続を実施することができます。
今まで Bastion は Windows は RDP のみ、Linux は SSH のみの接続がサポートされていましたが、Bastion Standard SKU を利用することで以下の画面の様に Windows/Linux に限らずプロトコル、TCP ポートを指定して接続できるようになりましたので、Windows (SSH), Linux (RDP) のパターンで手順と動作を確認してみました。

image.png

Windows (SSH), Linux (RDP) の接続ができるようになると以下のようなメリットがあると思います。

  • Windows の踏み台から Linux へアクセスするような場合、CLI ベース (SSH) でアクセスできる
  • Linux でブラウザ等の GUI 操作をしたい
  • Windows RDP, Linux SSH 以外の接続プロトコルをトラブルの切り分けとして利用したい

参考ドキュメント

前提

  • Bastion を Standard SKU で構成済みであること
  • Windows 10, Ubuntu 18.04 の VM を Bastion と同じ仮想ネットワークに作成済みであること
  • NIC, サブネットに NSG が構成されている場合、Bastion サブネットから TCP 22,3389 あての通信が許可されていること (NSG の設定は以下を参照)

1. Windows への SSH 接続

1-1. Windows VM (Windows 10) へ OpenSSH Server をインストール

Bastion 等で VM に RDP 接続し、以下のドキュメントの手順に従って VM に OpenSSH サーバーをインストールしていきます。
https://docs.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_install_firstuse

[設定] を開き、 [アプリ] > [アプリと機能] の順に選んで、 [オプション機能] を選択します。
image.png

インストール後、Powerhsell を起動し、サービスの起動と自動起動の設定を行っておきます。

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

1-2. Bastion から SSH で Windows VM に接続確認

Bastion の接続画面で、以下の様に "接続設定" 部分で SSH を選択し、VM 作成時に指定したユーザー、パスワードでログインを実施します。

image.png

Windows 環境に SSH で接続することができました。
こちらの環境で powershell に切り替え ipconfig を実施することもできました。

image.png

試しに TCP の接続状況も確認してみましたが、RDP (3389) はなく、SSH (22) のみが ESTABLISHED となっていることがわかります。Bastion 用のサブネットは 10.20.0.0/26 です。
image.png

2.Linux への RDP 接続

2-1. デスクトップ環境、デスクトップサーバーのインストール

Bastion 等で VM に SSH 接続し、以下の手順に従い xfce, xrdp をインストールしていきます。

以下のコマンドでデスクトップ環境をインストールします。(※数分かかります)

sudo apt-get update
sudo apt-get -y install xfce4
sudo apt install xfce4-session

以下のコマンドでリモートデスクトップサーバーをインストールし、デスクトップ環境の設定を行います。

sudo apt-get -y install xrdp
sudo systemctl enable xrdp

echo xfce4-session >~/.xsession
sudo service xrdp restart

オプション

GUI 動作確認のため、Firefox もいれておきます。

sudo apt-get -y install firefox

また、ブラウザベースの Bastion 経由ではファイルのコピー&ペーストはできませんが、RDP 用のネイティブクライアントだとコピー&ペーストが使えますので、コピー&ペースト用に以下のモジュールも入れておきます。

sudo apt-get -y install xfce4-clipman
sudo service xrdp restart

2-2. Bastion から RDP で Linux VM に接続確認

Bastion の接続画面で、以下の様に "接続設定" 部分で RDP を選択し、VM 作成時に指定したユーザー、パスワードでログインを実施します。

image.png

GUI で接続してブラウザが開けることを確認できました。
image.png

ターミナルで TCP の接続状況も確認してみましたが、SSH (22) はなく、RDP (3389) のみが ESTABLISHED となっていることがわかります。Bastion 用のサブネットは 10.20.0.0/26 です。

image.png

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3