Amazon EC2にSudoユーザーを追加する。
はじめに
どーでもいい内容です。
僕がAWSを構築して人に全ての権限を渡すときに使ったコマンドのメモです。
セキュリティ甘々です。
ってか「こんなのメモるな!」っていうくらいどーでも良いことだけど。
ユーザーの追加
渡すユーザーを作成します。
$ ssh ec2-user@xxxx -i xxx.pem
$ useradd sudo-user
必要ならパスワードをつけるけど、ここでは鍵認証SSHでログインしてもらうのでつけない。
鍵の作成
自分のPCでRSA鍵を作る。
$ ssh-keygen -t rsa
適当なフォルダに鍵をつくる。必要に応じてパスフレーズをつける。
作った鍵を登録する
$ ssh ec2-user@xxxx -i xxx.pem
# 作成したsudoユーザーに切り替える。
$ sudo su - sudo-user
$ mkdir .ssh
$ vi .ssh/authorized_keys
先ほど作った鍵の公開鍵(ras.pub
の中身)を貼り付けて保存する。
sudo権限をつける
$ ssh ec2-user@xxxx -i xxx.pem
$ sudo visudo
rootの下あたりに・・・。パスワードも無しで・・・。
root ALL=(ALL) ALL
sudo-user ALL=(ALL) NOPASSWD:ALL
保存。
sudoユーザーでログインして確認
$ ssh sudo-user@xxx -i ras[さっき作った鍵]
$ sudo ls
確認が終わったら相手に秘密鍵を送る。
メールなどのインターネットを使う場合は接続情報と鍵は一緒に送らないこと。
以上。
最後に
実際はsudo-userにはpasswd
をつけてあげたほうが良いけど、一時的に環境構築をするときはちょっと邪魔なので全て割愛した。
ec2-user
にも鍵をかけたほうが良いかもしれない。その場合は以下の設定も変える必要がある。
$ sudo visudo -f /etc/sudoers.d/cloud-init
初期アカウントがパスワード無しでsudo出来るのが気持ち悪いという貴方へを参考にしてます。
visudoは絶対使いましょう。ミスったときに取り返しがつかなくなります。
あと、rootユーザーでsshできるかな?と見てみると
$ sudo view /etc/ssh/sshd_config
こうなってた
PermitRootLogin forced-commands-only
なので、特定のコマンドしか使えないのでrootユーザーに関する考慮は不要の模様。
でも念のためrootのauthorized_keysを確認
$ sudo view /root/.ssh/authorized_keys
こうなってた。
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10" ssh-rsa XXXXXXXX
特に変更しなくても問題なさそうだ。
Author And Source
この問題について(Amazon EC2にSudoユーザーを追加する。), 我々は、より多くの情報をここで見つけました https://qiita.com/townsoft/items/f3feaa6688ce70900642著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .