🔑
Azureにsshキーを登録してLinuxVMへのログインを楽にする
モチベ
- 「クラウドエンジニアの教科書」を読んでいたら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書いていたらなおさら。
Discussion