1. Qiita
  2. 投稿
  3. Sierra

続・macOS Sierraが秘密鍵のパスを覚えてくれない問題

  • 10
    いいね
  • 0
    コメント

macOS Sierra のSSH接続で、秘密鍵へのパスを覚えてくれない問題

という情報が見つかったので、色々参考にやってみたのですが、最終的には各ユーザーの.ssh/configに次のように書くことで対応するのが一番簡単でした。

$ vi .ssh/config
Host *
PubkeyAcceptedKeyTypes=+ssh-dss
identityFile ~/.ssh/id_ecdsa
identityFile ~/.ssh/id_dsa

Host *は全ての接続に対してidentityFileで指定したキーを使って公開鍵認証をせよ!という指定です。

PubkeyAcceptedKeyTypesは公開鍵として許可する鍵のタイプの設定です。このMacは古いMacからデータを移行して使い続けている環境であり、macOS SierraでSSHのバージョンが更新されたため、鍵のセキュリティ強度が低いDSA鍵や強度の低いRSA鍵は無効化されてしまいます。

これを機会に新しい鍵を作って使うべきですが、一時的に古い鍵も使えるようにしないとサーバーにアクセスできないので+ssh-dssとオプション指定して許可しています。準備ができたらいずれこの設定は消す予定です。

ちなみに古いOS Xで一度でもssh-add -Kを実行してキーチェーンに登録したことがあり、これらのOS XからmacOS Sierraに移行した場合は、古い情報を有したSSHの秘密鍵が登録されていることがあります。
これらを削除するには次のように削除できます。