Ubuntu 22.04、CentOS Stream 9 および類似システムで非推奨となった ssh-rsa (RSA/SHA-1) 署名方式に起因する SSH 接続障害を修正します。
背景情報
RSA は公開鍵暗号方式で使用される非対称アルゴリズムです。公開鍵と秘密鍵からなるキーペアに基づいて動作します。ECS キーペアはデフォルトで RSA 暗号化を使用します。詳細については、「概要」をご参照ください。
ssh-rsa 署名方式は、RSA とともに SHA-1 ハッシュアルゴリズムを使用します。SHA-1 は攻撃に対して脆弱であるため、OpenSSH 8.8 以降では ssh-rsa がデフォルトで無効化されています。
ssh-rsa の非推奨化は、RSA キー自体には影響しません。RSA キーは複数の署名方式をサポートしています。
-
rsa-sha2-256 (RSA/SHA-256)
-
rsa-sha2-512 (RSA/SHA-512)
-
ssh-rsa (RSA/SHA-1)
デフォルトで無効化されているのは ssh-rsa (RSA/SHA-1) のみです。
Ubuntu 22.04 でのエラー:key type ssh-rsa not in PubkeyAcceptedAlgorithms
症状
FinalShell または nuoshell を使用して Ubuntu 22.04 インスタンスに RSA キーで接続しようとすると失敗します。sshd ログには以下が表示されます。
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
原因
Ubuntu 22.04 では ssh-rsa がデフォルトで無効化されています。FinalShell および nuoshell は ssh-rsa (RSA/SHA-1) のみをサポートしており、rsa-sha2-256 や rsa-sha2-512 とのネゴシエーションができないため、接続が失敗します。
ソリューション
以下のいずれかの方法を選択してください。
-
方法 1:別のキーアルゴリズムを使用する
ECDSA や DSA などの別のアルゴリズムでキーペアを生成します。
-
方法 2:別の SSH クライアントを使用する
rsa-sha2-256 または rsa-sha2-512 をサポートするクライアント(例:Alibaba Cloud ワークベンチ)を使用して接続します。
-
方法 3:sshd 構成で ssh-rsa を再度有効にする
重要ssh-rsa (RSA/SHA-1) はセキュリティリスクを伴う可能性があります。慎重に実施してください。
sshd 構成で ssh-rsa を許可します。
echo 'PubkeyAcceptedAlgorithms=+ssh-rsa' >> /etc/ssh/sshd_config systemctl restart sshd
CentOS Stream 9 および類似ディストリビューションでのエラー:key type ssh-rsa not in PubkeyAcceptedAlgorithms
影響を受けるオペレーティングシステム
-
CentOS Stream 9
-
AlmaLinux 9
-
Rocky Linux 9
-
Red Hat Enterprise Linux 9
-
Fedora 33 以降
症状
FinalShell または nuoshell を使用してインスタンスに RSA キーで接続しようとすると失敗します。sshd ログには以下が表示されます。
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
原因
CentOS Stream 9 および上記の他のシステムでは、ssh-rsa (RSA/SHA-1) がデフォルトで無効化されています。FinalShell および nuoshell は ssh-rsa のみをサポートしており、rsa-sha2-256 や rsa-sha2-512 とのネゴシエーションができないため、接続が失敗します。
update-crypto-policies --show を実行して、現在の暗号ポリシーを確認できます。
ソリューション
以下のいずれかの方法を選択してください。
-
方法 1:別のキーアルゴリズムを使用する
ECDSA や DSA などの別のアルゴリズムでキーペアを生成します。
-
方法 2:別の SSH クライアントを使用する
rsa-sha2-256 または rsa-sha2-512 をサポートするクライアント(例:Alibaba Cloud ワークベンチ)を使用して接続します。詳細については、「ECS インスタンスへの接続方法」をご参照ください。
-
方法 3:暗号ポリシーを LEGACY に切り替える
重要LEGACY ポリシーは未知のセキュリティリスクを伴う可能性があります。慎重に実施してください。
暗号ポリシーを LEGACY に切り替えます。
update-crypto-policies --set LEGACY update-crypto-policies --show