どうも、エピックです。
このノートでは VM 内に新規ユーザーを作成し Bastion 経由で接続する方法についてメモします。
今回の前提
こちらの記事はひとつ前のAzure Bastion経由でのVMへの接続の続きとなっています。
あわせてこちらの記事も確認ください。
[blogcard url=”https://epic-life.me/archives/6000″]大まかな手順を確認する
今回の次の手順で実施していきます。
- ssh鍵の生成(ローカル)
- ユーザー作成(VM上)
- ssh公開鍵の設定(VM上)
- 接続してみる
Azureというより、ほとんどLinuxの知識(新規ユーザー作成およびSSH接続)になっています。
SSH接続について知りたいという方はこちらのQuiitaの記事がわかりやすくまとめてくれていますので参考にしてみてください。
また、SSHユーザー作成の手順についてはこちらのサイト様がわかりやすくまとめてくださっています。
ssh鍵の生成(ローカル)
環境はMacとなります。
次のコマンドを順次ターミナルで実行していきます。
# sshのフォルダへ移動
cd ~/.ssh
# SSH(Secure SHell)の公開鍵と秘密鍵を作成
ssh-keygen -t rsa -f <生成したいファイル名> -C ""
# 秘密鍵、公開鍵(.pub) が作成されていることを確認
ls
# catで表示される文字列をコピー
cat <生成したいファイル名>.pub
SSH鍵ペアの生成には ssh-keygen コマンドを利用します。
– t のオプションでは暗号方式を指定できます。
rsa(デフォルト)、dsa、ecdsa などの暗号を指定することができます。
また、- f の オプションでは生成するファイル名を指定できます。
鍵ペアは、ひとつしか持ってはいけないということはなく接続対象ごとに作成(つまり複数作成)することができます。
その場合は同一ファイルとして上書きされないようファイル名を指定して、明確に区別しておきましょう。
コマンドを実行すると秘密鍵と公開鍵がそれぞれペアになる形で生成されます。
ざっくりした使い方のイメージは、生成された公開鍵をサーバーに置いておくことで、サーバにログインを試みた際「公開鍵に対応する秘密鍵を持っている」=「正規のユーザー」として識別しログインを許可してくれます。
そのため公開鍵(の中身)はサーバーに渡す必要があり、コピーするためここでは簡易的に cat コマンドを実行しています。
ユーザー作成(VM上)
続いて、VM上にユーザーを作成していきます。
といってもまずはデフォルトのユーザーでログインする必要があるため、前回作成した azureuser でSSHログインを行います。
その後下記のコマンドを実行し、ユーザーの作成を行っていきます。
# ユーザーを作成
sudo useradd -m <ユーザー名>
# ユーザーのパスワードを変更
sudo passwd <ユーザー名>
# ユーザーをsudoグループに追加(sudo権限を付与)
sudo usermod -aG sudo <ユーザー名>
useradd コマンドを入力する際は -m のオプションを忘れないようします。
– m を忘れるとユーザーのホームディレクトリが作成されません。
続いて、作成したユーザーの公開鍵を設定しSSHログインを行えるようにします。
# 新規ユーザーのホームディレクトリへ移動
cd /home/<ユーザー名>
# sshフォルダを作成
sudo mkdir .ssh
# 権限を変更
sudo chmod 700 .ssh/
# authorized_keysファイルを作成
sudo touch .ssh/authorized_keys
# 権限を変更
sudo chmod 600 .ssh/authorized_keys
# 先ほどローカルで作成した公開鍵の値を書き込み
sudo vi .ssh/authorized_keys
# フォルダ・ファイルの所有権を正しくユーザーに設定
sudo chown <ユーザー名>:<ユーザー名> .ssh
sudo chown <ユーザー名>:<ユーザー名> .ssh/authorized_keys
権限を正しく設定していないとエラーとなるため必ず適切な設定を行います。
また、補足ですが、vim (vi) での書き込み&保存コマンドはは :wq になります。
接続してみる
これで一通りの設定が完了しました。
新規作成したユーザーでSSH接続をしてみたいと思います。
接続は作成したVMリソースから行います。
リソースを選択すると、[接続]-[Bastion]がクリックできるのでそちらをクリックします。
続いて接続設定を入力する画面になるので、ユーザー名・認証の種類などを入力します。
- ユーザー名:<ユーザー名>
- 認証の種類:ローカルファイルからのSSH秘密キー
- ローカルファイル:先ほど作成した公開鍵に対応する秘密鍵
[接続]をクリックし、新規ブラウザタブで次のようなページが表示されれば完了です。
最後に
今回はVM 内に新規ユーザーを作成し Bastion 経由で接続する方法んいついて書いてみました。
もしわからないこと等あればコメントにていただけれればと思います。
今回も最後までお読みいただきありがとうございました。
では。