![]() |
1
6
无法使用ssh和ssh代理之间的协议获取私钥或执行加密,但可以通过转储ssh代理的内存来获取私钥。在Linux上,必须是根目录才能进行内存转储。 我刚刚找到了一个关于ssh代理如何工作的很好的解释: http://www.unixwiz.net/techtips/ssh-agent-forwarding.html . 这部分回答了我的一些问题。
因此,ssh客户机和ssh代理之间的协议没有为ssh1或ssh2提供从ssh代理中获取私钥的方法。
但是,作为根用户,您可以获得ssh代理的内存转储,并尝试从中提取私钥。
https://blog.netspi.com/stealing-unencrypted-ssh-agent-keys-from-memory
确实如此,在该页面的注释部分还提到了其他软件。然而,在Debian Buster上,那个页面上的软件对我不起作用:内存转储不包含任何键,尽管如此
|
![]() |
2
1
在我的例子中,我不小心删除了.ssh文件夹,但是我的密钥被加载了。但由于我无法从ssh中恢复这些内容,所以我不得不使用文件恢复软件。 |
![]() |
3
0
你可能不需要。很可能您只需要一个公钥:
|
![]() |
Geoffrey · 如何生成SSH代理签名响应 7 年前 |