rocky Asked: 2018-11-16 05:36:15 +0800 CST2018-11-16 05:36:15 +0800 CST 2018-11-16 05:36:15 +0800 CST 如何将 GPG 私钥和公钥导出到文件 772 我通过执行以下命令使用 GPG 生成了密钥 gpg --gen-key 现在我需要将密钥对导出到文件中;private.pgp即,分别为和的私钥和公钥public.pgp。我该怎么做? gpg pgp 4 个回答 Voted Best Answer RubberStamp 2018-11-19T08:14:02+08:002018-11-19T08:14:02+08:00 导出公钥 此命令将导出公钥的 ascii 装甲版本: gpg --output public.pgp --armor --export username@email 导出密钥 此命令将导出密钥的 ascii 装甲版本: gpg --output private.pgp --armor --export-secret-key username@email 安全问题、备份和存储 PGP 公钥包含有关个人电子邮件地址的信息。这通常是可以接受的,因为公钥用于将电子邮件加密到您的地址。然而,在某些情况下,这是不希望的。 对于大多数用例,密钥不需要导出,也不应该分发。如果目的是创建备份密钥,则应使用备份选项: gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email 这将导出所有必要的信息以恢复密钥,包括信任数据库信息。确保将任何备份密钥存储在计算平台之外并存储在安全的物理位置。 如果此密钥对您很重要,我建议使用paperkey将密钥打印在纸上。并将纸钥匙放入防火/防水保险箱中。 公钥服务器 通常,不建议将个人公钥发布到密钥服务器。密钥一旦发布就无法删除,也无法确保服务器上的密钥由密钥的假定所有者放置在那里。 最好将您的公钥放在您拥有或控制的网站上。有些人推荐keybase.io进行分发。但是,该方法跟踪对某些用例可能不希望的各种社会和技术社区的参与。 对于技术娴熟的人,我个人建议尝试使用webkey域级密钥发现服务。 Serj Sp 2019-11-20T05:08:55+08:002019-11-20T05:08:55+08:00 列出您拥有的密钥: gpg --list-secret-keys 导出密钥: gpg --export-secret-key name > ~/my-key.asc 复制到另一台机器上; 导入密钥: gpg --import my-key.asc vhs 2020-11-09T21:51:41+08:002020-11-09T21:51:41+08:00 到文件export的 SOMEKEYID 公钥output: gpg --output public.pgp --export SOMEKEYID 使用密钥时,通常最好不要将它们写入文件,而是使用 SSH 在仅使用gpg和管道的机器之间直接复制它们: gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import 但是,如果您必须将您的密钥输出到文件中,请确保它已加密。以下是如何使用 AES 加密和Dark Otter 方法来实现这一点: gpg --output public.gpg --export SOMEKEYID && \ gpg --output - --export-secret-key SOMEKEYID |\ cat public.gpg - |\ gpg --armor --output keys.asc --symmetric --cipher-algo AES256 如果您想创建公钥和私钥的物理备份以防止磁盘故障,而没有其他方法可以重新获得对您的密钥的访问权限,则最后一种方法是理想的。 注意:如果您只有私钥的副本而没有公钥,则可以通过重新导入私钥、信任它然后重新导出来恢复您的公钥。 有关其他注意事项,请参阅私下移动 GPG 密钥。 user416078 2020-06-04T11:32:11+08:002020-06-04T11:32:11+08:00 “GnuPG(又名 PGP/GPG)” 更多信息 生成密钥: gpg --gen-key 查看所有键: gpg --list-keys 导出公钥: gpg --export -a --output [path-to-public-key].asc [email-address] 导出密钥: gpg -a --export-secret-keys > [path-to-secret-key].asc
导出公钥
此命令将导出公钥的 ascii 装甲版本:
gpg --output public.pgp --armor --export username@email
导出密钥
此命令将导出密钥的 ascii 装甲版本:
gpg --output private.pgp --armor --export-secret-key username@email
安全问题、备份和存储
PGP 公钥包含有关个人电子邮件地址的信息。这通常是可以接受的,因为公钥用于将电子邮件加密到您的地址。然而,在某些情况下,这是不希望的。
对于大多数用例,密钥不需要导出,也不应该分发。如果目的是创建备份密钥,则应使用备份选项:
gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email
这将导出所有必要的信息以恢复密钥,包括信任数据库信息。确保将任何备份密钥存储在计算平台之外并存储在安全的物理位置。
如果此密钥对您很重要,我建议使用paperkey将密钥打印在纸上。并将纸钥匙放入防火/防水保险箱中。
公钥服务器
通常,不建议将个人公钥发布到密钥服务器。密钥一旦发布就无法删除,也无法确保服务器上的密钥由密钥的假定所有者放置在那里。
最好将您的公钥放在您拥有或控制的网站上。有些人推荐keybase.io进行分发。但是,该方法跟踪对某些用例可能不希望的各种社会和技术社区的参与。
对于技术娴熟的人,我个人建议尝试使用webkey域级密钥发现服务。
gpg --list-secret-keys
gpg --export-secret-key name > ~/my-key.asc
gpg --import my-key.asc
到文件
export
的 SOMEKEYID 公钥output
:使用密钥时,通常最好不要将它们写入文件,而是使用 SSH 在仅使用
gpg
和管道的机器之间直接复制它们:但是,如果您必须将您的密钥输出到文件中,请确保它已加密。以下是如何使用 AES 加密和Dark Otter 方法来实现这一点:
如果您想创建公钥和私钥的物理备份以防止磁盘故障,而没有其他方法可以重新获得对您的密钥的访问权限,则最后一种方法是理想的。
注意:如果您只有私钥的副本而没有公钥,则可以通过重新导入私钥、信任它然后重新导出来恢复您的公钥。
有关其他注意事项,请参阅私下移动 GPG 密钥。
“GnuPG(又名 PGP/GPG)” 更多信息
生成密钥:
gpg --gen-key
查看所有键:
gpg --list-keys
导出公钥:
导出密钥: