【AWS EC2】ec2-userと同様にsudo可能なユーザーを追加する


概要

Amazon Linux2のデフォルトユーザーec2-userの他にsudo可能なユーザーを追加する

環境

  • EC2 Amazon Linux2
  • Windows10
    • Ubuntu(WSL: Windows Subsystem for Linux)
    • RLogin(sshクライアント)

手順

1. AWSマネジメントコンソールからキーペアを作成する

  1. EC2 > ネットワーク&セキュリティ > キーペア
  2. キーペアを作成
  3. 名前にキーペア名を入れて、pem形式でキーペアを作成
  4. pemファイルがダウンロードされるので、ローカルPCの適切な場所に保管

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で接続できることを確認して完了

参考