このセクションでは、SSH クライアントによる EC2 インスタンスへの接続について紹介していきます。
SSH クライアントからプライベートキーを使って EC2 インスタンスへの接続ができるようにします。
EC2 インスタンスのパブリック IPv4 DNS の情報が、EC2 インスタンスへの接続先となります。
プライベートキーを使用せず SSH クライアントから接続しようとすると、接続ができません。
[user@localhost ~]$ sudo ssh ec2-user@ec2-パブリック IPv4 DNS
The authenticity of host 'ec2-パブリック IPv4 DNS' can't be established.
ーー(省略)ーー
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-パブリック IPv4 DNS' (ECDSA) to the list of known hosts.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[user@localhost ~]$
接続する EC2 インスタンスのキーペアの一つであるプライベートキー(秘密鍵)を SSH クライアントに配置します。
ここでは、~/.ssh 配下に pem形式の秘密鍵(test-keypair.pem)を配置しています。
[user@almalinux ~]$ ls -la .ssh/
total 12
drwx------. 2 user user 72 Aug 8 05:34 .
drwx------. 4 user user 123 Aug 8 05:34 ..
-rw-------. 1 user user 270 Aug 8 05:10 known_hosts
-rw-r--r--. 1 user user 95 Aug 8 05:10 known_hosts.old
-rw-------. 1 user user 387 Aug 7 21:24 test-keypair.pem
[user@almalinux ~]$
配置した秘密鍵(text-keypair.pem)のパーミッションを変更しておきます。ここでは、所有者のみの読み取り権限を付与します。
[user@almalinux ~]$ chmod 400 ~/.ssh/test-keypair.pem
[user@almalinux ~]$
[user@almalinux ~]$ ls -la ~/.ssh/
total 12
drwx------. 2 user user 72 Aug 8 05:34 .
drwx------. 4 user user 123 Aug 8 05:34 ..
-rw-------. 1 user user 270 Aug 8 05:10 known_hosts
-rw-r--r--. 1 user user 95 Aug 8 05:10 known_hosts.old
-r--------. 1 user user 387 Aug 7 21:24 test-keypair.pem
[user@almalinux ~]$
SSH クライアントから配置したプライベートキーを使用して EC2 インスタンスへ接続します。正常であれば、下記のように EC2 インスタンスへSSHでリモート接続が成功します。
[user@almalinux ~]$ sudo ssh -i ~/.ssh/test-keypair.pem ec2-user@ec2-パブリック IPv4 DNS
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
Last login: Tue Aug 8 09:35:49 2023 from 121.94.190.228
[ec2-user@ip-**-**-**-** ~]$
EC2 インスタンスのキーペアのもう一つであるパブリックキー(公開鍵)は、EC2 インスタンスの ~/.ssh 配下にauthorized_keysとして配置されています。
[ec2-user@ip-**-**-**-** ~]$ ls -la ~/.ssh/
total 4
drwx------. 2 ec2-user ec2-user 29 Aug 8 01:55 .
drwx------. 3 ec2-user ec2-user 95 Aug 8 02:00 ..
-rw-------. 1 ec2-user ec2-user 94 Aug 8 01:55 authorized_keys
[ec2-user@ip-**-**-**-** ~]$