🚀

sshが繋がらない場合の対処

2025/02/07に公開

事象

sshでサーバーに接続しようとした際に以下のエラーが発生しました。

Unable to negotiate with <IPアドレス> port <ポート>: no matching host key type found. Their offer: ssh-rsa,ssh-dss

対応

  1. 一時的に許可
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa <ユーザー名>@<IPアドレス>

でアクセスするとアクセスできる。

  1. 永続的に対応する場合
    ~/.ssh/config に設定を追加
Host 10.200.5.171
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedKeyTypes +ssh-rsa

原因

SSHクライアントがサーバーの提示したホストキーの種類 (ssh-rsa, ssh-dss) をサポートしていないために発生していました。
・ssh-rsa(sha-1)は攻略可能となっているようです。
・ssh-dssは1024bit固定で短いから非推奨となっているようです。
可能ならば使用するホストキーの種類を変更すべきです。

Discussion