Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
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
また、理由があって Mac からの場合のみ「PubkeyAcceptedKeyTypes=+ssh-dss」を適用したい場合は、以下のように Match 構文が便利です。
※ Docker で ~/.ssh ディレクトリをマウントして利用した際、Linux と Mac で挙動を変えたい場合にこの設定を使いました。
Match exec "uname | grep Darwin" PubkeyAcceptedKeyTypes=+ssh-dss
長年使っていたDSA鍵ですが、そろそろ再生成の時期のようです。
次の候補として、ECDSA 等が安全性が高いようです。