前提

・対象インスタンスにec2-userでSSH接続できること。
・追加対象ユーザ用のKeypairが作成されていること。
・作成したKeypairの秘密キーファイルをEC2に格納(WinSCPなどで)されていること。

Keypair作成方法はAWS公式を参照

ログインユーザの追加手順

1、ユーザIDとグループIDを指定してユーザを作成します。

①まず、グループを作成しておきます。

groupadd -g 2000 testgroup

②次にユーザを作成します。

useradd -u 2000 testuser -g 2000 -G testgroup

確認①

ll /home
合計 0
drwx------. 4 ec2-user ec2-user  221  3月 18 23:01 ec2-user
drwx------. 2 ssm-user ssm-user   83  1月  2 16:36 ssm-user
drwx------. 2 testuser testgroup  62  3月 19 01:36 testuser

確認②

cat /etc/group | grep test
testgroup:x:2000:testuser

確認③

cat /etc/passwd | grep test
testuser:x:2000:2000::/home/testuser:/bin/bash

2、testuser関連設定

①testuser アカウントに変更し、/home/testuserのパーミッションが700であることを確認する。

su - testuser
testgroup:x:2000:testuser

ls -ls /home | grep testuser
0 drwx------. 2 testuser testgroup  62  3月 19 01:36 testuser

②testuserホームディレクトリに .ssh ディレクトリを作成します。

mkdir .ssh

③chmod コマンドを使用して、.ssh ディレクトリのアクセス許可を 700 に変更します。アクセス許可を変更すると、testuser のみが .ssh ディレクトリの読み込み、書き込みを行える、あるいはそれを開くことができるようにアクセスが制限されます。

chmod 700 .ssh

④ touch コマンドを使用して .ssh ディレクトリに authorized_keys ファイルを作成します。

touch .ssh/authorized_keys

⑤ chmod コマンドを使用して .ssh/authorized_keys ファイルのアクセス許可を 600 に変更します。ファイルのアクセス許可を変更すると、testuser に対する読み込みまたは書き込みのアクセスが制限されます。

chmod 600 .ssh/authorized_keys

3、キーペアのパブリックキーを取得する

コマンド:

ssh-keygen -y -f /<キーペア格納先>/<キーペア名>.pem

実行例:

ll /WORK
合計 4
-rw-rw-r--. 1 ec2-user ec2-user 1674  3月 19 00:32 testuser.pem

ssh-keygen -y -f /WORK/testuser.pem
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUYtSDMyNxwOeIFhmiEB+4ns1jLrGVxvKc3LUerTEBLJbfx1IV0wFcic66EVVir5Gz7GJXXxYMQe8JT3L+e1xocrdTOQEULvCMOjSGhGNLp09NWopYDokovwQbvajbjxr2gRe5IZg1To7SnME9iLgo+2TDiv9oPT1WBWtSurAak2+nqhkh2QxtOtySptM4wRNs9o44GDSUBJxK8gM883yuZscZvYg2CyAXy+hOZpnwaF3F4P2Dj0WvKLtqNNK8GMKd6HbM+3Tjn9ERIA/0yvpfyFq1Tzo4rBBxm8LnjD43+uvuKEb9o50PCDSRf6o9B3cIf6n1YwNy+n560UYC8BC1

4、新しいユーザーアカウントの認証情報を更新して確認する

①アペンドモードで Linux cat コマンドを実行します。

cat >> .ssh/authorized_keys

②.ssh/authorized_keys ファイルにパブリックキーを貼り付け、Enter キーを押します。

cat >> .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUYtSDMyNxwOeIFhmiEB+4ns1jLrGVxvKc3LUerTEBLJbfx1IV0wFcic66EVVir5Gz7GJXXxYMQe8JT3L+e1xocrdTOQEULvCMOjSGhGNLp09NWopYDokovwQbvajbjxr2gRe5IZg1To7SnME9iLgo+2TDiv9oPT1WBWtSurAak2+nqhkh2QxtOtySptM4wRNs9o44GDSUBJxK8gM883yuZscZvYg2CyAXy+hOZpnwaF3F4P2Dj0WvKLtqNNK8GMKd6HbM+3Tjn9ERIA/0yvpfyFq1Tzo4rBBxm8LnjD43+uvuKEb9o50PCDSRf6o9B3cIf6n1YwNy+n560UYC8BC1

③Ctrl + D を長押しして cat を終了し、コマンドラインセッションのプロンプトに戻ります。

[testuser@ip-10-20-0-101 ~]$ cat >> .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUYtSDMyNxwOeIFhmiEB+4ns1jLrGVxvKc3LUerTEBLJbfx1IV0wFcic66EVVir5Gz7GJXXxYMQe8JT3L+e1xocrdTOQEULvCMOjSGhGNLp09NWopYDokovwQbvajbjxr2gRe5IZg1To7SnME9iLgo+2TDiv9oPT1WBWtSurAak2+nqhkh2QxtOtySptM4wRNs9o44GDSUBJxK8gM883yuZscZvYg2CyAXy+hOZpnwaF3F4P2Dj0WvKLtqNNK8GMKd6HbM+3Tjn9ERIA/0yvpfyFq1Tzo4rBBxm8LnjD43+uvuKEb9o50PCDSRf6o9B3cIf6n1YwNy+n560UYC8BC1
[testuser@ip-10-20-0-101 ~]$

③新しいユーザーが SSH を使用して EC2 インスタンスへ接続できることを確認する

※ec2-userと同じ方法で接続できます。
キーペア:.pem(ここではtestuser.pem)
ユーザ:testuser

Tera Termを使って接続してみます。

ホスト欄に接続対象のIpを入力し、「OK」をクリックする。

ユーザ名欄に「testuser」、秘密鍵欄に「testuser.pem」を指定し、「OK」をクリックする。

下記のように、接続できることを確認しました。

参考

https://aws.amazon.com/jp/premiumsupport/knowledge-center/new-user-accounts-linux-instance/

Last modified: 2021-03-19

Author