SSH接続時に “key type ssh-rsa not in PubkeyAcceptedAlgorithms”とエラー出た時の解決法

SSH接続時”key type ssh-rsa not in PubkeyAcceptedAlgorithms”というエラーメッセージが表示され接続が出来ない時がありました。
このメッセージは、SSHサーバーが受け入れる公開鍵のアルゴリズムに、使用しようとしているssh-rsaが含まれていない為でるようです。

これは、新しいバージョンのOpenSSH(例えばUbuntu 22.04 LTSやRHEL9など)では、デフォルトでSHA1メッセージダイジェスト鍵(ssh-rsa)が禁止されているためです。
SHA1は脆弱性を持つ可能性があるため、使用が推奨されていません。

この問題を解決するためには、以下の2つの方法があります。

・新しい鍵を生成する: RSA鍵にこだわりがなければ、ED25519やECDSAなどの他のアルゴリズムで新しい鍵を生成します。
ED25519の場合
# ssh-keygen -t ed25519
ECDSAの場合
# ssh-keygen -t ecdsa -b 256

・サーバー側の設定を変更する: サーバー側のSSH設定(sshd_config)でssh-rsaを受け入れるように変更します。ただし、これはセキュリティ上あまり良くないですね。。
具体的には、sshd_configの最終行に PubkeyAcceptedAlgorithms=+ssh-rsa を追加

# vi /etc/ssh/sshd_config
#最終行に追記
PubkeyAcceptedAlgorithms=+ssh-rsa

sshd再起動
# systemctl restart sshd.service

以上が、SSH接続エラー”key type ssh-rsa not in PubkeyAcceptedAlgorithms”の解決法です。

タグ . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です