UbuntuへのSSH接続が認証エラーになる

先日この件で苦戦したので、(しかも過去に対処したことがあったのを忘れていたので、)メモ代わりに書きました。

最近のUbuntuでは公開鍵のssh-rsaアルゴリズムがデフォルトで無効になっていますが、状況次第で、ssh-rsaを使うしかないこともあります。
そういうときは、追加の設定が必要です。

認証ログを確認する

まずは状況を確認しましょう。
Ubuntuの認証ログは、以下のファイルに書き込まれています。

/var/log/auth.log

このファイルに、以下のようなエラーが出ていれば、この件に該当します。

userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]


設定を変更する

エラーが確認出来たら、sshの設定ファイルに必要事項を追記して、アルゴリズムを許可しましょう。
以下のファイルを編集します。

/etc/sshd_config

以下が追記する内容です。ファイルの末尾に追加してください。

PubkeyAcceptedAlgorithms=+ssh-rsa

再度、SSH接続を試みて、問題がなければ成功です。


最後に

手順を紹介しておいてアレなのですが、セキュリティに関して、あえて古い方式を使うのはあまり好ましくありません。ssh-rsaを使わずに接続できるようにする手段があるなら、そちらを採用した方がいいです。

本記事がやむを得ないときの参考になれば幸いです。


この記事が気に入ったらサポートをしてみませんか?