gpt4 book ai didi

windows - Windows OpenSSH ssh-agent 服务在哪里 secret 存储私钥

转载 作者:行者123 更新时间:2023-12-04 12:23:14 24 4
gpt4 key购买 nike

获得了 Windows10 Pro 附加功能“OpenSSH-Client”,其中包括 ssh-agent 功能。可以使用 ssh-add 将 key 添加到代理。令我惊讶的是,这个 Windows 实现似乎将这些私钥存储在磁盘上 - 标准 ssh-agent 只会将它们存储在 RAM 中。
试试这个:

ssh-add <private key from thumbdrive>
## remove thumbdrive
## stop ssh-agent service
## start ssh-agent service
ssh-add -l
而且,瞧, key 还在那里;即使重新启动也不会删除它们!
所以现在我的非常非常安全的私钥在系统磁盘上的某个地方。
如何删除它们以及可能仍在磁盘上的任何遗物?
有谁知道这些保存的位置吗?
顺便提一句。就个人而言,我发现这是原始 OpenSSH ssh-agent 的一个糟糕的功能扩展

最佳答案

好的,回答我自己的问题:
短芒:ssh-add -D将删除键.... 排序。
key 存储在注册表中的 HKCU\Software\OpenSSH\Agent\Keys 下。
https://github.com/PowerShell/openssh-portable/releases/tag/v8.1.0.0 的源代码中弄清楚了这一点在文件中 contrib/win32/win32compat/ssh-agent/keyagent-request.c从好的方面来说,此实现在存储 key 的私有(private)部分使用 DPAPI。
另一方面,如果有正确的权限,可以使用 ImpersonateLoggedOnUser 来解密这个存储的 key 。
遗憾的是,这个实现没有使用原始的严格删除方法( BN_clear_free )——一个简单的 RegDeleteTreeA应该就足够了。因此,对于真正的删除,需要修改 ntuser.dat.log。
私钥在磁盘上的实际存储不符合原始联机帮助页:

The agent initially does not have any private keys.
总而言之:虽然叫法一样,但是是很不一样的东西。关于使用此 ssh-agent 实现的一些警告:
  • 它将 key 存储在磁盘上 - 从不在共享或访客情况下使用
  • 删除后(痕迹) secret key 保留在磁盘上
  • 此实现在安全的关键方面不符合 openssh 手册页 ssh-agent.1。
  • 关于windows - Windows OpenSSH ssh-agent 服务在哪里 secret 存储私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65629402/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com