この記事の前半では、著者がGitHubに対応したSSHキーを3つのコマンドでMac上に作成する、シンプルで安全な方法を紹介しています。後半では、興味のある読者のために舞台裏で何が起きているのかを説明しています。
Macには標準搭載のSecure Enclaveがあり、そこでは盗み出すことが非常に難しいIDを作成できます。これらのIDはTouch IDで保護され、SSH認証に使用できます。従来のSSHキーファイルと比べると、この方法にはいくつかの利点があります。秘密鍵の情報は取り出したり表示したりできないため、盗まれることがありません。IDを使用するたびにユーザーに確認が求められます。また、~/.ssh/id_ed25519のようなキーファイルがファイルシステムに残ることもなく、誤って削除してしまう心配もありません。この保護は、GitHubとのgit-over-SSHを含め、SSHを使用するあらゆる場面で適用されます。
クイックセットアップは3つのステップで行います。まず、sc_authコマンドでIDを作成し、Touch IDで確認します。次に、ssh-keychain.dylibライブラリを指定してssh-addを実行し、SSHにそのIDを使うよう指示します。PINのプロンプトは空欄のままにします。SSHはこの設定を再起動後に忘れてしまうため、再度実行する必要があります。最後に、ssh-add -Lを実行して公開鍵を表示し、GitHubに追加します。複数のキーが表示される場合は、sk-ecdsa-sha2-nistp256で始まる行が正しいキーを示します。
設定が完了すると、git pushなどの操作でTouch IDのプロンプトが表示されます。秘密鍵を他人に渡すことはできませんが、Macを紛失したり故障したりするとIDも失われます。その場合は新しいIDを作成し、GitHubなどのサービスに再登録する必要があります。
出典: Hacker News · 要約:HeadlinesBriefing