古い鍵(dsa)で、ssh 接続しようとしたら、上記のエラーが発生。キーアルゴリズムが古いため無効になっているようだ。セキュリティ強度に問題があるために無効化されているのだが、どうしても接続したい場合の設定。

クライアント側で、PubkeyAcceptedKeyTypes に +ssh-dss を設定する。

~/.ssh/config

Host ホスト名
  PubkeyAcceptedKeyTypes +ssh-dss

もしくは、コマンドラインの引数で設定。

ssh -o PubkeyAcceptedKeyTypes=+ssh-dss 〜

しかし、それだけでは駄目だった。サーバの /etc/ssh/sshd_config の末尾に以下を追加。

PubkeyAcceptedKeyTypes +ssh-dss

サポートされている鍵を確認するには、man page によると、

ssh -Q key

で確認できる。