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”の解決法です。