RHEL9 ssh-rsa not in PubkeyAcceptedAlgorithmsの解決方法
環境
RHEL9.2
エラーメッセージ
/var/log/secure を確認すると、
xxx test sshd[88833]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
原因
Red Hat Enterprise Linux 9 から SHA-1 メッセージダイジェストの使用が非推奨 になったようで、
標準コマンドで鍵ペアを作成しても SSH ログインが失敗しました。
暗号化を目的とした SHA-1 メッセージダイジェストの使用は、RHEL 9 では非推奨になりました。
SHA-1 によって生成されたダイジェストは、ハッシュ衝突の検出に基づく多くの攻撃の成功例が記録化されているため、
セキュアであるとは見なされません。RHEL コア暗号コンポーネントは、デフォルトで SHA-1 を使用して署名を作成しなくなりました。
RHEL 9 のアプリケーションが更新され、セキュリティー関連のユースケースで SHA-1 が使用されないようになりました。
解決方法
暗号アルゴリズムオプションに ECDSA ( 楕円曲線暗号 ) を指定して鍵ペアを作成します。
$ ssh-keygen -t ecdsa Generating public/private ecdsa key pair. Enter file in which to save the key (/home/arte/.ssh/id_ecdsa): Created directory '/home/arte/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/arte/.ssh/id_ecdsa Your public key has been saved in /home/arte/.ssh/id_ecdsa.pub The key fingerprint is: SHA256:nuG13EduN8o2NMHOeGqSBSFIYVymWlmenAafKEwk/ac arte@localhost.localdomain The key's randomart image is: +---[ECDSA 256]---+ | .ooo=++ | | +..o@.+. | | o.= O. . . | | +... . o | | . o S o + o | | E o = = O | | + = = =..| | o o.=...| | o .o. | +----[SHA256]-----+