我丢失了用于 Launchpad 和电子邮件加密的 GPG 密钥以及整个~/.gnupg
文件夹。我可以使用公钥恢复它们吗?
答案1
@andrewsomething 不。你提到的提问者,在一台机器上有密钥。但我把密钥弄丢了。(电脑爆炸了)
抱歉,您无法取回您的密钥。这是设计使然。
RSA(和 DSA/ElGamal)算法的设计使得密钥必须同时生成。有一些中间变量既不作为私钥也不作为公钥的一部分存储。由于公钥是公开的,因此您无法从中推断出私钥,否则将存在巨大的安全漏洞。这两个素数是由随机数生成的。
此外,密钥电子邮件/名称/说明与模数(密钥的“重要”数据部分)无关。因此,如果没有备份,您就无法恢复密钥,至少在不分解大数的情况下无法恢复,而这目前还不容易做到。密码用于使用由密码生成的另一个(对称)密钥来保护密钥,但此密钥和密码都不会以任何方式影响模数,除了随机数据源。
我能做些什么?
您可以前往 Launchpad密钥管理通过用户名和密码登录后,撤销旧密钥。然后制作并发布新密钥。您可以发布的密钥数量没有限制。进行安全备份,确保没有人未经授权访问备份,并且备份中的密钥受密码保护。
答案2
不,您不可能再次生成相同的密钥。
但是,您可以按照以下步骤轻松导入/导出密钥:
导入密钥环(所有密钥)
只需将~/.gnupg
目录从源机器复制到目标机器即可。
仅导入特定密钥
假设密钥的名称是ABCDFE01
。
将公钥和私钥分别导出到名为mygpgkey_pub.gpg
和的文件中mygpgkey_sec.gpg
。
gpg --output mygpgkey_pub.gpg --armor --export ABCDFE01
gpg --output mygpgkey_sec.gpg --armor --export-secret-key ABCDFE01
然后,将这些文件复制到目标计算机并运行:
gpg --import ~/mygpgkey_pub.gpg
gpg --allow-secret-key-import --import ~/mygpgkey_sec.gpg
来源: http://www.ralree.com/2007/03/07/howto-export-and-import-private-gpg-keys/
答案3
打开你的 Unity Dash,输入以下内容seahorse
。passwords and applications
点击打开。你创建的密钥将存在于我的个人钥匙选项卡选择它。在那里你可以看到你创建的密钥。选择该密钥,然后自动在菜单中出口选项将激活并选择该导出按钮。然后将其保存到您想要的位置。
现在打开您想要导入此文件的目标系统。与上述相同的过程,直到打开密码和应用程序。在该应用程序中,从主菜单中选择文件并选择导入。通过它,您可以选择从第一台 PC 保存的密钥。
如果您想要更清楚的话,请查看图像。