AWS EC2 インスタンスにユーザー追加する方法
親切なチュートリアルを見て、SSH 接続で EC2 のインスタンスにログインできるようになったところまではよかったんですが、
デフォルトの ec2-user でないユーザーを足そうとしたらいろいろハマったので覚え書き。
参考: Linux インスタンスでのユーザーアカウントの管理 - Amazon Elastic Compute Cloud
1. 新規ユーザーを足す
今回作るユーザーの名前は new-user とします。
さて、まずは SSH でログインです。
ssh -i ~/.ssh/aws_private_key.pem ec2-user@12.345.67.89
ここの接続に使う pem ファイルの名前や IP アドレスの部分は、自分に合う形に直してくださいね。
su root
で root アカウントに切り替えます。(su
でもいいです)
useradd new-user
new-user が足されました。
ls -l /home
と打ってみれば、ec2-user
と new-user
の2つのフォルダが、/home
ディレクトリ上にあることが確認できるでしょう。
ついでに root ユーザーにパスワードを
passwd
というコマンドでパスワードの設定ができます。
new-user のパスワードを設定するには
passwd new-user
と打ちます。
2. new-user でリモートログインできるようにする
まだ ssh -i ~/.ssh/aws_private_key.pem new-user@12.345.67.89
でリモートログインすることはできません。
それをできるようにするのがここでの作業です。
まず root アカウントから new-user アカウントへ切り替えます。
su new-user
これで new-user のホームディレクトリ /home/new-user
が現在いるディレクトリになっているはずです。
このホームディレクトリにファイルを足し、アクセス制限をかけます。
mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
そして authorized_keys
を編集します。
vi ~/.ssh/authorized_keys
このファイルには、あなたのパソコンの ~/.ssh/id_rsa.pub
の中身を貼り付けましょう。
Escキー
, :
, w
, q
, Enterキー
で保存しつつ終了です。
ここまでおこなえば、SSH 接続でのログインができるようになったはずです。
exit
コマンドを何回か使い、EC2 インスタンスからログアウトしてください。
3. ec2-user を削除
さて、最初のログインとユーザー名の部分だけ変えて改めてログインしてみてください。
ssh -i ~/.ssh/aws_private_key.pem new-user@12.345.67.89
ログインできたでしょうか?
ちなみに、new-user でのログインが可能になったのかのテストのためだけでなく、
ec2-user でログインしてる状態では ec2-user アカウントを削除できないため、2. の最後で一度ログアウトしてもらいました。
new-user でログインできましたらまた root アカウントに戻ります。
su root
そして以下のコマンドで、元々あった ec2-user アカウントは削除できます。
userdel ec2-user
4. 新しいユーザーに sudo 権限を付与
new-user でログインできるようになりましたが、
sudo yum update
など、sudo
をともなうコマンドは
new-user is not in the sudoers file. This incident will be reported.
とエラー文が出て実行できません。
そこで new-user を wheel
グループに入れます。
参考: sudoユーザーを追加する方法 - Linux入門 - Webkaru
usermod -G wheel new-user
これでまだ終わりでなく、/etc/sudoers
をいじります。
参考: さくらVPS+CentOS:自分をsudoユーザに追加してみた
以下のコマンドを実行してください。
visudo
そして root ALL=(ALL) ALL
の少し下にある以下を編集します。
# %wheel ALL=(ALL) ALL
とコメント化されてますので #
を削除し、
%wheel ALL=(ALL) ALL
と直します。
これでOKです。
exit
コマンドで root アカウントからログアウトし new-user アカウントに戻り、
sudo
の付くコマンド、たとえば sudo yum update
などが動作するか確認してみてください。
これで、新規ユーザーを追加するやり方について説明おしまいです。