【AWS】EC2インスタンスに新規ユーザーアカウントを追加しSSHアクセスを行う方法

AmazonEC2にターミナルから接続できたら、次はデフォルトユーザ(ec2-user)ではなく、新しいユーザーを作成してそのユーザーで操作するのが一般的です。

ec2-userのままで操作を続けているとセキュリティホールとなってしまいますからね。

本日は、そんな「EC2インスタンスに新規ユーザーアカウントを追加しSSHアクセスを行う方法」を紹介していきます。

以前の記事の続きになります。

パブリックキーを取得する

まずは後ほど使用するための、パブリックキーを取得します。

コマンドラインを開きます。

% pwd
/Users/<ユーザー名>/.ssh 

前回記事では、/Users/<ユーザー名>/.sshのディレクトリに、「sample.pem」ファイルを置きました。

sample.pemファイルからパブリックキーを取得するコマンドを入力します。

% 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と命名しておきます。

% 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 ~]$ 

こんな感じでログインできたかと思います。

ルートユーザーになる

ログイン後はルートユーザーになり、新しくユーザーを作成します。

[ec2-user@ip-10-0-2-143 ~]$ su -

rootユーザーに切り替えができない場合はsudoコマンドを実行してください。

[ec2-user@ip-10-0-2-143 ~]$ sudo su -

初期設定ではrootにパスワードが設定されていないので、設定を行います。

[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という設定ファイルを編集します。

[root@ip-10-0-2-143 ~]# sudoedit /etc/ssh/sshd_config

設定ファイルの編集画面になったら、sshd_configファイルの最後尾にに新しく追加したいユーザー名を登録します。

ここでは、sample-userという名前で登録することにします。

AllowUsers sample-user
# 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を作成することができます。

% adduser simple-user

入力したら、早速そのユーザーに切り替えます。

新規作成したユーザーにパスワードを新しく付与します。

[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.

新規パスワードを作成できました。

新規パスワードが作成できたら、早速新しく作成したユーザーアカウントに切り替えます。

% su - sample-user
[sample-user@ip-10-0-2-143 ~]$ 

sample-userに切り替えができました。

新規ユーザーで設定

アクセス許可を付与

.sshディレクトリを作成する

% mkdir .ssh

chmodコマンドで書き込みを行える

% chmod 700 .ssh

authorized_keyファイルを作成する。

% touch .ssh/authorized_keys

chmodコマンドを称して、.ssh/authorized_keysファイルのアクセス許可を600に変更します。

% chmod 600 .ssh/authorized_keys

ここに最初に発行したパブリックキーを書き込みます。

% ssh-keygen -y -f sample.pemコマンドで出力されたssh-rsaで始まるコードですね。

% vim .ssh/authorized_keys

i で書き込みモードにして、ペーストして、:wq! (保存して終了)を実行します。

この後、exitして早速sample-userでログインできるかの実験をしてみます。

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設定は常に注意が必要です。

設定完了後にシステムを再起動させます。

$ sudo systemctl restart sshd
$ exit

さて、これで改めてログインできるか確認してみます。

これだとログインできませんが

% ssh ec2-user@18.183.39.22 -i /Users/sample-user/.ssh/sample.pem

これだとログインすることができます。

% ssh sample-user@18.183.39.22 -i /Users/sample-user/.ssh/sample.pem

以上で設定が完了できました。

以上。

最後に

いかがでしたでしょうか。

以上が、「【AWS】EC2インスタンスに新規ユーザーアカウントを追加しSSHアクセスを行う方法」の紹介記事になります。

新規ユーザーを追加することができたら、新規ユーザーにsudo権限を付与しておくことも非常に役に立ちます。

設定方法は以下の記事で紹介をしておきます。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です