🦔
AmazonLinux2でデフォルトユーザを削除、新規ユーザを作成する
前提)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