概要
Amazon Linux2のデフォルトユーザーec2-userの他にsudo可能なユーザーを追加する
環境
- EC2 Amazon Linux2
- Windows10
- Ubuntu(WSL: Windows Subsystem for Linux)
- RLogin(sshクライアント)
手順
1. AWSマネジメントコンソールからキーペアを作成する
2. キーペアから公開鍵を取得する
1でダウンロードしたpemファイルから公開鍵を取得する。
ssh-keygen
を使いたい&ダウンロードしたファイルにアクセスしたいので、私はWSLのUbuntuを使いました。
# 公開鍵を取得したいだけなので、適当なdirを作成
$ mkdir sshkey
# Windowsのダウンロードフォルダから1でダウンロードしたpemファイルをコピー
$ cp /mnt/d/Users/tamorieeeen/.ssh/ec2_keypair.pem sshkey/
# 権限がガバガバだとこんな感じで怒られる
$ ssh-keygen -y -f sshkey/ec2_keypair.pem
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'sshkey/ec2_keypair.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "sshkey/ec2_keypair.pem": bad permissions
# pemファイルの権限を変更して公開鍵を取得
$ chmod 400 sshkey/ec2_keypair.pem
$ ssh-keygen -y -f sshkey/ec2_keypair.pem
ssh-rsa AAAABBBBCCCC…
3. サーバー上でユーザーを追加してssh鍵を登録する
# ec2-userでsshログインして
$ sudo adduser tamorieeeen
$ sudo su - tamorieeeen
$ mkdir .ssh
$ chmod 700 .ssh/
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ vi .ssh/authorized_keys
# 2で取得した公開鍵を貼り付けて:wqで保存
$ exit
wheelグループに所属させてsudoをノンパスで行えるようにする
$ sudo usermod -aG wheel tamorieeeen
$ sudo visudo
# %wheelのコメントアウトを外して:wqで保存
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
追加したユーザーでsshで接続できることを確認して完了