`ssh-agent` 能否以某种方式与 Windows 内置的类似“钥匙串”的功能交互?

`ssh-agent` 能否以某种方式与 Windows 内置的类似“钥匙串”的功能交互?

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 在强制重置密码时警告您数据丢失的原因)。

相关内容