Amazon Linux 2023 にsshするための手順

11月 30, 2023AmazonLinux_CentOS,AWS,EC2

概要

  • 今月初めて、Amazon Linux 2023 インスタンスを起動したんです!
  • デフォルトだと、ssh が出来ないのですね? ドキュメントには、Amazon Linux 2023 の初期ユーザーは以前と同じ “ec2-user" で変わりません。なぜかPC からTeraterm でssh を試みましたが、ログイン出来ませんでした。
  • 今回は、Amazon Linux 2023 にsshするための手順を紹介します。

 

なぜAmazon Linux 2023 にssh出来ないか?

  • Amazon Linux 2023 User Guide に以下の記載があります。
  • 従来のssh-rsaホストキーアルゴリズムが無効になっているためであり、Keypair を作成時、タイプに ED25519 を指定すれば発生しない様です。

If you have SSH clients from several years ago, you might see an error when you connect to an instance. If the error tells you there’s no matching host key type found, update your SSH host key to troubleshoot this issue.

Default disabling of ssh-rsa signatures

Amazon Linux 2023 (AL2023) includes a default configuration that disables the legacy ssh-rsa host key algorithm and generates a reduced set of host keys. Clients must support the ssh-ed25519 or the ecdsa-sha2-nistp256 host key algorithm.

  • また、インスタンス起動時にcloud-config を設定し、RSA タイプのKeypair を許可することも可能です。

In the following example, cloud-config generates a rsa host key with the ecdsa and ed25519 keys.

#cloud-config
ssh_genkeytypes:
– ed25519
– ecdsa
– rsa

 

  • 引き続き RSA タイプのKeypair を使用する場合は、Amazon Linux 2023 の暗号化ポリシーを変更する必要があります。セキュリティを考慮すると、新たに KeyPair を作成(タイプに ED25519 を指定)する方が良いわけです。
  • 次に、sshログインするための手順を記載します。

 

Amazon Linux 2023 にsshするための手順

インスタンスにSession Managerでログイン

  • Amazon Linux 2023 のインスタンスを起動し、初めはSession Managerでログインします。(今回は、Public Subnet にインスタンスを配置し、Public ip にてアクセスする想定です)
  • Session Manager を使用するには、インスタンスに “AmazonSSMManagedInstanceCore" のポリシーを割り当てたロールが必要になります。

 

Amazon Linux 2023 の暗号化ポリシーを変更する

  • Amazon Linux 2023 のインスタンスに接続後、以下のファイルを作成します。
    • /usr/share/crypto-policies/policies/modules/SHA1SSHD.pmod
sh-5.2$ sudo su -
[root@ip-172-31-15-168 ~]# echo "sign@openssh-server = RSA-SHA1+" > /usr/share/crypto-policies/policies/modules/SHA1SSHD.pmod
[root@ip-172-31-15-168 ~]# ls -l /usr/share/crypto-policies/policies/modules/SHA1SSHD.pmod
-rw-r--r--. 1 root root 32 Dec  1 01:20 /usr/share/crypto-policies/policies/modules/SHA1SSHD.pmod
[root@ip-172-31-15-168 ~]# cat /usr/share/crypto-policies/policies/modules/SHA1SSHD.pmod
sign@openssh-server = RSA-SHA1+
[root@ip-172-31-15-168 ~]#

 

  • 以下のコマンドを実行します。
    • update-crypto-policies –set DEFAULT:SHA1SSHD
[root@ip-172-31-15-168 ~]# update-crypto-policies --set DEFAULT:SHA1SSHD
Setting system policy to DEFAULT:SHA1SSHD
Note: System-wide crypto policies are applied on application start-up.
It is recommended to restart the system for the change of policies
to fully take place.
[root@ip-172-31-15-168 ~]#

 

  • PC の Teraterm からsshログインを行います。(Session Manager は使いません)
  • 以下の通り、無事にログインが出来ました。

 

 

関連資料