事前に生成したパスフレーズ付きの鍵を使ってAzure VMを作成する方法

Azure,Virtual Machine

パスフレーズ付き鍵を利用した仮想マシン(Azure VM)の作成方法の紹介です。
TerraTermを利用してパスフレーズ付きキーの生成から、Azure SSHキーへの公開鍵登録、仮想マシン作成までの一連の手順を紹介しています。

AzureにはSSH キーというサービスがあります。
SSHキーのサービス使うとAzure上で鍵ペアを生成、保管できます。
自身が作成した公開鍵を登録する事もできます。
登録したSSHキーは仮想マシン(Azure VM)作成時に利用できます。

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

SSHキーを利用して仮想マシンを作成する手順について確認してみました。

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

スポンサーリンク

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

仮想マシン作成時に管理者アカウントの認証方式(ログイン方法)を選択します。
パスワードかSSH公開キーから選択します。

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

仮想マシン作成時の設定画面

PuTTYgenを利用した場合の手順についてはこちらで紹介しています。

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

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

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

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

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

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

新規にSSHキーを作成

SSHキーのサービスで新規を選択します。

SSHキーの作成で設定します。

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

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

 

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

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

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

作成したSSHキーを確認します。
公開鍵はファイルでダウンロードされません。
Azure Portalで公開鍵の文字列を確認してコピーします。

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

事前に生成したSSHキーを利用して仮想マシンをデプロイします。
SSHキーに登録された公開鍵が仮想マシンに登録されます。

仮想マシンデプロイ

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

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

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

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

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

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

OKをクリックします。

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

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

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

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

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

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

パスフレーズ付き鍵生成

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

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

 

鍵生成後にパスフレーズの入力を行います。
コメントは適時入力します。
公開鍵と秘密鍵を保存します。

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

公開鍵をSSHキーに登録

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

公開鍵をSSHキーに登録

SSHキーのサービスで新規を選択します。

SSHキーを設定します。

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

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

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

確認画面が表示されます。
作成を選択します。

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

仮想マシンをデプロイ

SSHキーに保管された公開鍵を利用して仮想マシンをデプロイします。

仮想マシンをデプロイ

仮想マシン作成時に以下の通り選択します。

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

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

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

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

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

OKをクリックします。

 

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

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

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

ーーー

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

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

SSHキーへの保管を確認

仮想マシン作成時に、新しいキーの組の生成を指定します。キーの組名にtest-vmと設定します。

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

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

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

スポンサーリンク