Native Secure Enclave backed SSH keys on macOS
6 months ago
- #SSH
- #MacOS
- #Security
- MacOS Tahoe 可以生成并使用基于安全隔离区的SSH密钥,替代了Secretive等项目。
- 共享库`/usr/lib/ssh-keychain.dylib`现在支持通过`SecurityKeyProvider`直接从安全隔离区加载密钥。
- 创建需要生物识别的安全隔离区密钥,使用命令:`sc_auth create-ctk-identity -l ssh -k p-256-ne -t bio`。
- 列出已创建的密钥:`sc_auth list-ctk-identities`,或使用`sc_auth list-ctk-identities -t ssh`查看SSH指纹。
- 删除密钥:`sc_auth delete-ctk-identity -h <公钥哈希值>`。
- 从安全隔离区下载公钥/私钥对:`ssh-keygen -w /usr/lib/ssh-keychain.dylib -K -N ""`。
- 使用`ssh-copy-id -i id_ecdsa_sk_rk localhost`将公钥复制到授权密钥文件中。
- 通过`ssh-add -K -S /usr/lib/ssh-keychain.dylib`让密钥直接对`ssh-agent`可用。
- 在`.ssh/config`中配置`SecurityKeyProvider`,或在`.zprofile`中设置`export SSH_SK_PROVIDER=/usr/lib/ssh-keychain.dylib`以获得更广泛的兼容性。