🔐

【EC2/Linux】ec2-user以外のユーザーを鍵認証にする方法

2024/05/31に公開

ec2-userが使用している公開鍵を他のユーザーにコピーすると、そのユーザーはec2-userと同じように、鍵認証で環境にアクセスすることができます。

この記事では、testuserが鍵認証を使えるようにするという前提で手順を紹介します。

検証環境

  • Amazon EC2
  • Red Hat Enterprise Linux 9.3

1. ec2-user用の公開鍵が存在すること、testuser用の公開鍵が存在しないことを確認。

公開鍵の場所は、/home/<ユーザー名>/.sshディレクトリ内の、authorized_keysファイルです。

[root@ip-172-31-28-156 ~]# ls -l /home/ec2-user/.ssh
total 4
-rw-------. 1 ec2-user ec2-user 394 May 25 13:13 authorized_keys
[root@ip-172-31-28-156 ~]#
[root@ip-172-31-28-156 ~]# ls -l /home/testuser/.ssh
ls: cannot access '/home/testuser/.ssh': No such file or directory
[root@ip-172-31-28-156 ~]#

2. ec2-user用の公開鍵を、testuser向けにコピーする。

▼ 「.ssh」ディレクトリごと、別のユーザー向けにコピーします。

[root@ip-172-31-28-156 ~]# cp -ipR /home/ec2-user/.ssh /home/testuser/.ssh
[root@ip-172-31-28-156 ~]#

▼ コピーできたことを確認。

[root@ip-172-31-28-156 ~]# ls -ld /home/testuser/.ssh
drwx------. 2 ec2-user ec2-user 29 May 25 13:13 /home/testuser/.ssh
[root@ip-172-31-28-156 ~]#
[root@ip-172-31-28-156 ~]# ls -l /home/testuser/.ssh
total 4
-rw-------. 1 ec2-user ec2-user 394 May 25 13:13 authorized_keys
[root@ip-172-31-28-156 ~]#

3. コピーしてきた公開鍵のファイル/ディレクトリの所有者をtestuserに変更。

▼ コピーが完了しても、ファイルの所有者がec2-userのままなので、testuserに変更します。

[root@ip-172-31-28-156 ~]# chown -R testuser:testuser /home/testuser/.ssh
[root@ip-172-31-28-156 ~]#

▼ 所有者がtestuserであることを確認。

[root@ip-172-31-28-156 ~]# ls -ld /home/testuser/.ssh
drwx------. 2 testuser testuser 29 May 25 13:13 /home/testuser/.ssh
[root@ip-172-31-28-156 ~]# ls -l /home/testuser/.ssh
total 4
-rw-------. 1 testuser testuser 394 May 25 13:13 authorized_keys
[root@ip-172-31-28-156 ~]#

4. testuserを鍵認証でログインできることを確認。

ec2-userと同じ鍵を使用します。

testuserに鍵認証でログインできました。

Discussion