̃Gg[͂ĂȃubN}[Nɒlj

Mac :: MacOSをバージョンアップして、DSA鍵でssh接続できなくなったときの対処



MacOS をバージョンアップして「High Sierra」にしたところ、ssh が軒並み接続できない
Σ( ̄Д ̄;)

% ssh hogehoge
foo@hogehoge: Permission denied (publickey,gssapi-with-mic).

ssh -v してデバックモードにしてみると下記で引っかかっている模様。

debug1: Skipping ssh-dss key /Users/hoge/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes


調べてみると、MacOS「Sierra」から OpenSSH のバージョンが v7.x にアップしたらしく、
OpenSSH v7.x では DSA 鍵が無効になったようです。
よって「Sierra」以上かつ「DSA鍵」を使っている場合は、ssh 接続できなくなります。

とりあえずの回避策としては、~/.ssh/config に以下を記述すると大丈夫です。

Host *
    PubkeyAcceptedKeyTypes=+ssh-dss
  • 鍵「ssh-dss」での受け入れを+(追加)するという意味です。


長年使っていたDSA鍵ですが、そろそろ再生成の時期のようです。
次の候補として、ECDSA 等が安全性が高いようです。





pc/mac/ssh_fail.txt