tldr;OpenSSH 是否与 Windows 集成,以便在解锁时 Windowsssh-agent
将“解锁”其受密码保护的私钥?
在 macOS 和 Linux 上,您通常会有某种钥匙串处理程序,它会ssh-agent
在仅解锁钥匙串本身后自动与启用密码的私钥集成并解锁。它会缓存密码一次并重复使用它们。在 Windows 上,您似乎有一些东西相似的:当 1Password 在计算机上解锁一次后,下次锁定时,您只需提供 Windows 用户 PIN 即可解锁。因此,Windows 和 1Password 之间存在某种集成。我想知道是否有某种东西可以利用类似的技术与 Windows 建立接口?ssh-agent
我想解锁某个钥匙串一次,并让它自动为我的所有安全私钥提供密码。
答案1
在 Linux 和(我相信)macOS 上,钥匙串默认设置为直接使用您的登录密码作为钥匙串密码。
微软将 OpenSSH 移植到 Windows 已经实现了同样的功能,只是“钥匙串”与你的 Windows 帐户的集成更加紧密。随 Windows 分发的 ssh-agent 版本使用数据保护API加密存储在注册表中的私钥(但奇怪的是,不是在 CAPI/CNG 提供的加密密钥存储中)。
DPAPI 主密钥本身受您的 Windows 登录密码保护(这就是 Windows 在强制重置密码时警告您数据丢失的原因)。