🔑

Azureにsshキーを登録してLinuxVMへのログインを楽にする

2022/11/17に公開

モチベ

  • 「クラウドエンジニアの教科書」を読んでいたらAzure上にSSHキーというサービスがあることを知った
  • LinuxのVMについてもユーザ名パスワードでログインしていたため(めんどくさがり)、SSHキーをAzure上においておけるならめっちゃ楽じゃんと思っただけ

作成したリソース

SSHキー

  • ssh-keygenとかでローカルで作成した公開鍵をアップロードすることも、SSHキーリソースを作るときに新規で作成して秘密鍵のみダウンロードすることも可能
  • それだけ

Linux VMの作成

  • 通常通りVMを作っていくが、認証の種類を「SSH 公開キー」とする
  • 「SSH公開キーのソース」を「Azureに格納されている既存のキーを使用する」に設定
  • そのままVMを作成していく。SSH22ポート開放も忘れずに。NSGとかで。
  • ネットワークもVMの作成と合わせて作る。
    • そういえばGCPだとVM作成時にネットワークいじいじできないらしい?先の本で読んだ。

キーの配置

SSH秘密鍵の保存

  • 保存場所は"~/.ssh/"配下
  • configとか書く場合もここに保存する

接続

下記コマンドにより接続。

$ ssh <username>@<hostname> -i <path_to_ssh_private_key>

username: VM作成時に指定したユーザ名
hostname: VMに対してDNS名が構成されていればその名前、なければIPアドレス
path_to_ssh_private_key: SSHキーに登録した公開鍵に対応する秘密鍵のパス

config書いてみる

こんな感じで書いておく。'touch'コマンドでファイル作成すると.txtにならなくて済む。

Host linuxvm01
  #HostName <ipaddress>
  HostName <vmname>.eastus.cloudapp.azure.com
  User azureuser
  Port 22
  IdentityFile ~\.ssh\hoge.pem
  ServerAliveInterval 60

こんな感じで接続できて楽。

$ ssh linuxvm01

おわり

SSHキー登録してVM作るときに使いまわしたら楽だね。ローカルでconfig書いていたらなおさら。

GitHubで編集を提案

Discussion