EC2でインスタンスを起動させる時に、デフォルトのシステムユーザーアカウントで起動しますが、複数ユーザーがアクセスする場合は、各ユーザーに個別のアカウントを使用することがセキュリティ上望ましいです。
#キーペアの用意
まず新しいユーザー用のキーペアを用意します。
EC2のダッシュボードの、▼ネットワーク&セキュリティのキーペアで作成しておくのが管理も楽です。
#パブリックキーの取得
ローカルにpemファイルでDLしたら、キーペアのパブリックキーを取得します。
$ ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
// 取得したpemのパスです。
コマンドがバブリックキーを返します。(後で使います。)
#ユーザーの追加
新しいユーザーを追加します。
SSHで接続したら、adduserコマンドでユーザーを追加し、新しいアカウントで設定をします。
$ sudo adduser new_user
// new_userを新アカウント名に置き換える
$ sudo su - newuser // newuserは任意のユーザー名
$ mkdir .ssh // .sshディレクトリを作成
$ chmod 700 .ssh // .sshディレクトリのパーミッションを変更
$ touch .ssh/authorized_keys //authorized_keysを作成 この名前にする決まり
$ chmod 600 .ssh/authorized_keys // authorized_keysのパーミッションを変更
先ほど取得したパブリックキーをauthoraized_keysにコピペします。
新しいユーザーでSSHできるか確認します。
$ ssh -i /path_to_key_pair/my-key-pair.pem new_user@public_IPv4_DNS
// pemファイルのパス、新しいアカウント名、ec2のIPアドレスかDNSに置き換える
Last login: Sun Nov 1 08:16:38 2020
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
無事新アカウントでSSH出来ました。
パスワードなしでsudo権限渡す
作成したユーザーは現時点でsudo
コマンドが使えません。
$ sudo passwd new_user
でパスワードを設定しておきます。
sudo
時にパスワード入力をすればsudo
コマンドが使えるようになります。
でもいちいち入力が面倒な場合は、パスワード入力不要なグループにユーザーを追加しておけば、上記の設定せずにsudo
が可能になります。
$ sudo visudo
#%wheel ALL=(ALL) ALL ←コメントアウトする。
%wheel ALL=(ALL) ALL
visudo
の上記をコメントアウトしておいて、
$ sudo usermod -aG wheel new_user
wheel
グループに新ユーザーを追加しておきます。