AmazonEC2にターミナルから接続できたら、次はデフォルトユーザ(ec2-user)ではなく、新しいユーザーを作成してそのユーザーで操作するのが一般的です。
ec2-userのままで操作を続けているとセキュリティホールとなってしまいますからね。
本日は、そんな「EC2インスタンスに新規ユーザーアカウントを追加しSSHアクセスを行う方法」を紹介していきます。
以前の記事の続きになります。
コンテンツ
パブリックキーを取得する
まずは後ほど使用するための、パブリックキーを取得します。
コマンドラインを開きます。
1 2 3 |
% pwd /Users/<ユーザー名>/.ssh |
前回記事では、/Users/<ユーザー名>/.sshのディレクトリに、「sample.pem」ファイルを置きました。
sample.pemファイルからパブリックキーを取得するコマンドを入力します。
1 2 |
% ssh-keygen -y -f sample.pem ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCDB6tFHF8C6XlLFQ7YlFMsvCpHUppLSEjH3gLDFNkHlXIR1eyplmbxtSdrTpBFC12pp7HjwCo4+3lGkFVboIqK3oBMZN+wD8+oD9FfFqYtirqyHO4iYfGxWI6qi1KjQ8Z8VOFec1dImGh9XwHWXotR9x8OFwg5xb5S/JDEy3MSiS3MBNSJ/e6k2mi+cmbDdE35PsedoOegwQ/tSK7e8eXILhGTBC0u0RSjunhqdohJXKWJr4OAK0D9wEH2KUzDf0vM6j/YOiMteWZjKEXmeTe4pKqn2xvTjEfV50r/shiTww9HNq11sYNi+Y0BvDA/5lFeBm/lDirlgbt1a9kNe7Gb |
コマンド入力すると上記のような感じのssh-rsaで始まるパブリックキーが発行されます。
こちらは後ほど利用するのでどこかにメモしておきましょう。
ログインする
パブリックキーのメモができたら、早速ec2-userとしてec2にログインを実行します。
ここでは説明をわかりやすくするために、<ユーザー名>をsample-userと、「.pem」ファイルをsample.pemと命名しておきます。
1 2 3 4 5 6 7 8 9 10 11 |
% ssh ec2-user@18.193.39.24 -i /Users/sample-user/.ssh/sample.pem Last login: Wed Nov 17 00:56:59 2021 __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 2 package(s) needed for security, out of 15 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-0-2-143 ~]$ |
こんな感じでログインできたかと思います。
ルートユーザーになる
ログイン後はルートユーザーになり、新しくユーザーを作成します。
1 |
[ec2-user@ip-10-0-2-143 ~]$ su - |
rootユーザーに切り替えができない場合はsudoコマンドを実行してください。
1 |
[ec2-user@ip-10-0-2-143 ~]$ sudo su - |
初期設定ではrootにパスワードが設定されていないので、設定を行います。
1 2 3 4 5 |
[root@ip-10-0-2-143 ~]# passwd root Changing password for user root. New password: Retype new password: passwd: all authentication tokens updated successfully. |
その次にルートユーザーになったら設定ファイルを編集します。
sshd_configという設定ファイルを編集します。
1 |
[root@ip-10-0-2-143 ~]# sudoedit /etc/ssh/sshd_config |
設定ファイルの編集画面になったら、sshd_configファイルの最後尾にに新しく追加したいユーザー名を登録します。
ここでは、sample-userという名前で登録することにします。
1 |
AllowUsers sample-user |
1 2 3 4 5 6 7 8 9 10 11 12 |
# Example of overriding settings on a per-user basis #Match User anoncvs # X11Forwarding no # AllowTcpForwarding no # PermitTTY no # ForceCommand cvs server AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect AllowUsers sample-user |
最後の行にこんな感じで記入をします。
新規ユーザーを作成する
登録できたら次は、そのsample-userの実物を作成しなければなりません。
新規ユーザーを作成する
先ずはrootユーザーであることを確認します。
下記コマンドでsample-userを作成することができます。
1 |
% adduser simple-user |
入力したら、早速そのユーザーに切り替えます。
新規作成したユーザーにパスワードを新しく付与します。
1 2 3 4 5 |
[root@ip-10-0-2-143 ~]# passwd sample-user Changing password for user sample-user. New password: Retype new password: passwd: all authentication tokens updated successfully. |
新規パスワードを作成できました。
新規パスワードが作成できたら、早速新しく作成したユーザーアカウントに切り替えます。
1 2 |
% su - sample-user [sample-user@ip-10-0-2-143 ~]$ |
sample-userに切り替えができました。
新規ユーザーで設定
アクセス許可を付与
.sshディレクトリを作成する
1 |
% mkdir .ssh |
chmodコマンドで書き込みを行える
1 |
% chmod 700 .ssh |
authorized_keyファイルを作成する。
1 |
% touch .ssh/authorized_keys |
chmodコマンドを称して、.ssh/authorized_keysファイルのアクセス許可を600に変更します。
1 |
% chmod 600 .ssh/authorized_keys |
ここに最初に発行したパブリックキーを書き込みます。
% ssh-keygen -y -f sample.pemコマンドで出力されたssh-rsaで始まるコードですね。
1 |
% vim .ssh/authorized_keys |
i で書き込みモードにして、ペーストして、:wq! (保存して終了)を実行します。
この後、exitして早速sample-userでログインできるかの実験をしてみます。
1 2 3 4 5 6 7 8 9 10 11 |
sample-user@MacBook-Pro .ssh % ssh sample-user@18.183.69.24 -i /Users/sample-user/.ssh/sample.pem Last login: Wed Nov 17 00:45:14 2021 __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 2 package(s) needed for security, out of 15 available Run "sudo yum update" to apply all updates. [sample-user@ip-10-0-2-143 ~]$ |
ログインできました。
ログインユーザーの許可
次はec2-userがsshでログインできないようにする必要があります。
なぜならec2-userはdefaultのユーザーでこのユーザーを悪用して、悪いことをする人も当然存在しうるわけです。
default設定は常に注意が必要です。
設定完了後にシステムを再起動させます。
1 2 3 |
$ sudo systemctl restart sshd $ exit |
さて、これで改めてログインできるか確認してみます。
これだとログインできませんが
1 |
% ssh ec2-user@18.183.39.22 -i /Users/sample-user/.ssh/sample.pem |
これだとログインすることができます。
1 |
% ssh sample-user@18.183.39.22 -i /Users/sample-user/.ssh/sample.pem |
以上で設定が完了できました。
以上。
最後に
いかがでしたでしょうか。
以上が、「【AWS】EC2インスタンスに新規ユーザーアカウントを追加しSSHアクセスを行う方法」の紹介記事になります。
新規ユーザーを追加することができたら、新規ユーザーにsudo権限を付与しておくことも非常に役に立ちます。
設定方法は以下の記事で紹介をしておきます。
コメントを残す