通过执行以下命令,我已经使用GPG生成了密钥
gpg --gen-key
现在我需要将密钥对导出到一个文件中,即将私钥和公钥分别导出到private.pgp
和public.pgp
。
发布于 2018-11-18 16:14:02
此命令将导出公钥的ascii装甲版本:
gpg --output public.pgp --armor --export username@email
此命令将导出秘密密钥的ascii装甲版本:
gpg --output private.pgp --armor --export-secret-key username@email
PGP公钥包含有关个人电子邮件地址的信息。这通常是可以接受的,因为公钥用于将电子邮件加密到您的地址。然而,在某些情况下,这是不可取的。
对于大多数用例,秘密密钥不需要导出,也不应该分发。如果目的是创建备份键,则应使用backup选项:
gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email
这将导出所有必要的信息来恢复机密密钥,包括信任数据库信息。确保在计算平台上并在安全的物理位置上存储任何备份秘密密钥。
如果这个密钥对您很重要,我建议使用纸钥匙打印出纸张上的密钥。把纸钥匙放在防火/防水保险柜里。
一般来说,向密钥服务器发送个人公钥是不可取的。没有任何方法可以在密钥发布后删除该密钥,也没有方法确保服务器上的密钥被假定的密钥所有者放置在那里。
最好将您的公钥放在您拥有或控制的网站上。有些人建议发行keybase.io。然而,该方法跟踪各种社会和技术社区的参与情况,这些参与对于某些用例来说可能不可取。
对于技术熟练的人,我个人建议尝试网键域级别的密钥发现服务。
发布于 2019-11-19 13:08:55
gpg --list-secret-keys
gpg -o ~/my-key.asc --export-secret-key name
gpg --import my-key.asc
发布于 2020-11-09 05:51:41
到export
output
文件的SOMEKEYID公钥:
gpg --output public.pgp --export SOMEKEYID
在使用秘密密钥时,通常最好不要将它们写入文件,而是使用SSH将它们直接复制到仅使用gpg
和管道的计算机之间:
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import
但是,如果必须将密钥输出到文件中,请确保它是加密的。下面是如何使用使用暗水獭法的AES加密来完成这一任务:
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密钥私密。
https://unix.stackexchange.com/questions/481939
复制相似问题