Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 还原密码短语rsa/dsa密钥_Ssh_Rsa_Private Key_Public Key_Passphrase - Fatal编程技术网

Ssh 还原密码短语rsa/dsa密钥

Ssh 还原密码短语rsa/dsa密钥,ssh,rsa,private-key,public-key,passphrase,Ssh,Rsa,Private Key,Public Key,Passphrase,我已经在我的新机器上从头开始安装了新的Ubuntu,并希望能够使用ssh访问远程主机。问题是,即使我同时拥有公钥和私钥,我也忘记了在创建密钥时使用的密码短语,因为在创建密钥之后,我已经将其传递给了ssh-agent。但是我仍然把它(密码短语)存储在笔记本电脑的ssh代理中。如果我有root访问权限和两个密钥,如何从ssh代理还原密码短语?据我所知,密码短语用于加密私钥。ssh代理不记得密码短语-它记得解密的私钥 而且,正如damienfrancois所提到的,它不应该在重启后记住它 如果您希望从

我已经在我的新机器上从头开始安装了新的Ubuntu,并希望能够使用
ssh
访问远程主机。问题是,即使我同时拥有公钥和私钥,我也忘记了在创建密钥时使用的密码短语,因为在创建密钥之后,我已经将其传递给了
ssh-agent
。但是我仍然把它(密码短语)存储在笔记本电脑的ssh代理中。如果我有
root
访问权限和两个密钥,如何从
ssh代理还原密码短语?

据我所知,密码短语用于加密私钥。ssh代理不记得密码短语-它记得解密的私钥

而且,正如damienfrancois所提到的,它不应该在重启后记住它

如果您希望从ssh代理本身提取解密的私钥,那么必须找到一个用于搜索正在运行的进程的内存并定位密钥的工具。我们可以找到一个这样的工具,但您可能会发现它的使用非常具有挑战性


要获得更实际的答案,您可以从
~/.ssh/id*
中删除密钥,创建新密钥,然后继续—对于新机器,您可能还没有太依赖它们。

ssh代理无法在重新启动后生存。你从不关机吗?或者您可能正在谈论密码管理器,如gnome keyring或KWallet?如果ssh代理仅为会话存储密码短语,那么它必须位于其他地方,因为我可以在重新启动后轻松地通过ssh连接到服务器,而不使用密码短语。已使用脚本从keyring提取密码,但我只是不使用它,响应是
从“会话”keyring提取密钥:keyring“会话”是空的
。我怎么可能不从笔记本电脑输入密码短语,但我需要从任何其他位置使用相同的密钥来执行此操作?当您输入密码短语时,它会解码密钥。我假设您的笔记本电脑(ssh代理、gnome keyright、idk)缓存了解密的值。您可能是对的,但我不明白为什么我可以轻松地使用密钥w/o密码短语,而它只是失败了。