SSH キーを使って公開鍵認証(パスフレーズ)のAzure VMを作成

Azure,Virtual Machine

AzureにはSSH キーというサービスがあります。
SSHキー(鍵ペア)を生成、保管するサービスなのですが、Azure VM(仮想マシン)デプロイ時に利用する事が出来ます。

Azure portal で SSH キーを生成して格納する(MS社サイト)

Azure SSH キーのサービスを利用して、SSH公開キー認証(公開鍵認証)でログインするAzure VM(仮想マシン)をデプロイからログイン確認までやってみました。
併せてTerraTermを利用してパスフレーズ付きキー(鍵)を生成、Azure SSHキーサービスへ登録、Azure VM(仮想マシン)デプロイもやってみました。

※SSHキーは公開鍵情報を保管するサービスになります。秘密鍵やパスフレーズは個別に保管する必要があります。
※今回はユーザ名にデフォルトのazureuserを利用していますが適時変更して下さい。

スポンサーリンク

Azure VM(仮想マシン)作成時に選択できる認証方法

Azure VMは作成時に、管理者アカウントの認証方式(ログイン方法)を、パスワードかSSH公開キーか選択する事が出来ます。

認証の種類 SSH公開キーのソース 説明
パスワード認証 OSログイン時にユーザー名とパスワードで認証を行う。
SSH公開キー認証 新しいキーの組の生成 Azure VM(仮想マシン)デプロイ時にキーの生成します。
OSログイン時に利用する公開鍵、秘密鍵のペアはAzure VM(仮想マシン)作成時に生成されます。
Azure に格納されている既存のキーを使用する SSHキーのサービスに登録されている公開鍵(SSHキー)を利用します。秘密鍵は事前にダウンロードしておく必要があります。
既存の公開キーを使用 事前に生成(TeraTerm等)しておいた公開鍵(SSHキー)を利用します。Azure VM(仮想マシン)デプロイ時には事前に作成しておいた公開鍵を利用します。

Azure VM(仮想マシン)作成時の設定画面

既存の公開キー(事前に作成したSSHキー)を利用した場合については下記を参照ください。

追加ユーザーについてはAzure Active Directoryのユーザーで認証させることも可能です。

仮想マシンのパスワードリセット方法についてはこちらを参照願います。

Azure SSHキー サービスで鍵ペアを生成後にAzure VM(仮想マシン)をデプロイ

AzureのSSHキーで鍵ペアを生成後にAzure VM(仮想マシン)をデプロイします。

Azure SSHキーを利用して公開鍵と秘密鍵を生成

Azure PortalでSSHキー生成します。

新規にSSHキーを作成

SSHキーのサービスで新規をクリックします。

SSHキーの作成が表示されますので、設定を行います。

  • リソースグループ名
  • キーの組名
  • SSH公開キーのソース

今回はAzureで新規に作成したキーを利用する為、新しいキーの組の生成を選択します。

 

確認画面が表示されますので、作成をクリックします。

新しいキーの組の生成が表示されます。
秘密キーのダウンロードを行います。
秘密鍵のファイル名はキーの組名.pem(今回の場合はSSH-Key.pem)になります。

【注意】秘密キーはこのタイミングでしかダウンロードできません。SSHキーのサービスでは秘密キーのダウンロードは出来ません。

作成されたSSHキーが確認出来ます。
公開鍵はファイルではなくAzure Portalで公開鍵の文字列を確認する形になります。

SSHキーで生成した公開鍵を利用してAuzre VM(仮想マシン)をデプロイ

先ほど生成したSSHキーを利用してAzure VM(仮想マシン)をデプロイします。
SSHキーに登録された公開鍵がAzure VM(仮想マシン)に登録されます。

Azure VM(仮想マシン)デプロイ

Azure VM(仮想マシン)デプロイ時に以下の通り選択します。

  • SSH公開キーのソース
    • Azureに格納されている既存のキーを使用する
  • 格納されたキー
    • SSH-Key(先ほど生成したSSHキーを指定)

後の設定項目は自身の環境にあわせて設定します。

TeraTermを利用して作成したAzure VM(仮想マシン)にログインします。

ユーザー名はazureuser(AzureVM作成時に指定したユーザー名)とします。パスフレーズは空白のままとします。

RSA/DSA/ECDSA/ED25519鍵を使うにチェックを入れます。秘密鍵(SSHキー生成時にダウンロードしたファイル)のパスを指定します。

OKをクリックします。

これで公開鍵認証でOSへログイン出来ます。

パスフレーズ付き鍵ペアを使ってAzure VM(仮想マシン)をデプロイ

SSHキーで鍵ペアを生成した場合はパスフレーズ無しになります。
パスフレーズ付きの鍵ペアを利用したい場合もあるかと思います。
TeraTermを利用してパスフレーズ付きの鍵を生成、SSHキーに登録する事で、パスフレーズ付き鍵認証のAzure VM(仮想マシン)をデプロイしてみます。

TeraTermを利用してパスフレーズ付き鍵ペアを生成

今回はTeraTermを利用してパスフレーズ付きの鍵ペアを生成します。

事前にこちらのサイト等からTeraTermをダウンロードしてインストール願います。

パスフレーズ付き鍵生成

TeraTermで設定にあるSSH鍵生成を選択します。

鍵生成が表示されます。鍵の種類はRSA、ビット数は4096にします。

生成をクリックします。

 

鍵が生成されたらパスフレーズの入力を行います。コメントは適時入力します。

公開鍵の保存した後に、秘密鍵の保存を行います。

デフォルトでは公開鍵はid_rsa.pub、秘密鍵はid_rsaというファイル名になります。

公開鍵をSSHキーに登録

生成した鍵のうち公開鍵の情報をSSHキーに登録します。

公開鍵をSSHキーに登録

SSHキーのサービスで新規をクリックします。

SSHキーを設定します。

  • リソースグループ名
  • キーの組名(今回はSSH-Key-Passとしています。)
  • SSH公開キーのソース

SSH公開キーのソースは既存の公開キーをアップロードを選択します。
キーのアップロードが表示されます。
作成した公開鍵をテキストエディタで開き、内容をコピペします。

確認および作成をクリックします。

確認画面が表示されますので、作成をクリックします。

※事前に作成したものを利用しているので秘密鍵のダウンロードは表示されません。

Auzre VM(仮想マシン)をデプロイ

SSHキーに保管された公開鍵を利用してAzure VMを作成します。

作成手順

Azure VM作成時に以下の通り選択します。

  • SSH公開キーのソース
    • Azureに格納されている既存のキーを使用する
  • 格納されたキー
    • SSH-Key-Pass(先ほどパスフレーズ付きで作成したSSHキーを指定)

その他の項目については自身の環境にあわせて設定します。

TeraTermを利用して作成したAzure VMにログインします。

ユーザー名はazureuser(AzureVM作成時に指定したユーザー名)とします。パスフレーズはTeraTermで鍵作成時に指定したパスフレーズを入力します。

RSA/DSA/ECDSA/ED25519鍵を使うにチェックを入れます。秘密鍵(SSHキー作成時にダウンロードしたファイル)のパスを指定します。

OKをクリックします。

 

パスフレーズ付きの鍵認証でのログインが確認出来ました。

 

Azure VMのNSG関連の設定についてはこちら。

Cent OSのRootアカウント初期パスワードについてはこちら。

Azure VM(仮想マシン)デプロイ時にキー生成した場合もSSHキーに保管される

Azure VM(仮想マシン)デプロイ時に”新しいキーの組の生成”を選択した場合には、SSHキーがキーの組名で指定した名前で作成されます。

作成手順

Azure VM作成時に、新しいキーの組の生成を指定します。キーの組名にtest-vmと設定します。

この場合Azure VM(仮想マシン)確認画面で作成をクリックすると新しいキーの組の生成というメッセージが表示されます。秘密キーのダウンロードとリソースの作成を選択すると、秘密キーがダウンロードされます。

ダウンロードされるファイル名は、キーの組名.pem(今回の場合はtest-vm.pem)

自動的にSSHキーのリソースが作成され公開鍵が格納されています。
同じ鍵を流用するといった事も可能です。