🦔

AmazonLinux2でデフォルトユーザを削除、新規ユーザを作成する

2022/05/25に公開

前提)AWSコンソールでEC2のインスタンス起動まで完了していること

ローカル側とサーバ側の両方で作業するので、ターミナルを2つ開いておくと便利。

デフォルトユーザ(ec2-user)でサーバにログイン

ssh -i "~/.ssh/{PEM_FILE_NAME}" ec2-user@{PUBLIC_IP}

新規ユーザを作成

# rootに切り替え
sudo su -
# 新規ユーザを作成
adduser {USER}
# パスワードを設定
passwd {USER}
  -> パスワードを入力する {PASSWORD}
# .sshフォルダを複製
cp -r /home/ec2-user/.ssh /home/{USER}/
chown -R {USER}:{USER} /home/{USER}/.ssh
# ec2-userからコピーしてきたキーを一旦削除(後で作成します)
rm -f /home/{USER}/.ssh/authorized_keys

作成したユーザにsudo権限を付与

visudo

開いたファイル内に{USER} ALL=(ALL) ALLを追記します

## Next comes the main part: which users can run what software on 
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
##      user    MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
{USER}  ALL=(ALL)       ALL    # ここに追加

新規ユーザでログインする際に利用する秘密鍵を作成

ローカル側で作業

cd ~/.ssh
# 秘密鍵を作成
ssh-keygen -t rsa -b 4096 -f "{KEY_FILE_NAME}"
# 作成したキーペアのうち、公開鍵の内容をコピー(エディタ等で開いてからコピーしてもOK)
pbcopy < {KEY_FILE_NAME}.pub

サーバー側で作業

# 先ほどコピーした公開鍵の内容を貼付
vi /home/{USER}/.ssh/authorized_keys
# 公開鍵のオーナー、権限を変更
chown {USER}:{USER} /home/{USER}/.ssh/authorized_keys
chmod 600 /home/{USER}/.ssh/authorized_keys
# ログアウト
exit
# (rootになっている場合はもう一回)
exit

デフォルトユーザ(ec2-user)を削除する

# 作成したユーザでサーバにログインしなおす
ssh -i "~/.ssh/{KEY_FILE_NAME}" {USER}@{PublicIP}

# デフォルトユーザを削除
sudo userdel -r ec2-user
  -> パスワードを入力する {PASSWORD}

Discussion