RELATEED CONSULTING
相关咨询
欢迎选择下列在线客服咨询
微信客服
微信客服二维码
热线电话:13863516421
7x24小时,全年无休
我们服务器的承诺:
关闭右侧工具栏

境外国外服务器专题

如何在GnuPG中添加新的密钥?

  • 来源:本站
  • 编辑: 超级管理员
  • 时间:2025-05-17 15:47:35
  • 阅读1次


在 GnuPG 中添加新密钥分为两种场景:生成新密钥对和导入已存在的公钥 / 私钥。以下是详细操作步骤:

一、生成新的密钥对(适用于创建自己的密钥)

1. 使用交互式命令生成密钥

bash

gpg --full-generate-key  # 启动交互式密钥生成向导



步骤说明:

选择密钥类型:默认 RSA(推荐)。

选择密钥长度:建议至少 2048 位(推荐 4096 位)。

设置密钥有效期:按需选择(如 1 年或永不过期)。

输入用户标识:姓名、邮箱(如Alice <alice@example.com>)。

添加注释(可选)。

设置密码短语:保护私钥的安全密码。

2. 使用批处理模式生成密钥(自动化)

创建配置文件key-config.txt:


conf

%echo Generating a RSA key

Key-Type: RSA

Key-Length: 4096

Subkey-Type: RSA

Subkey-Length: 4096

Name-Real: Alice

Name-Email: alice@example.com

Expire-Date: 1y

Passphrase: your-strong-passphrase

%commit

%echo Done


执行生成命令:


bash

gpg --batch --generate-key key-config.txt

二、导入已存在的公钥(适用于信任他人的密钥)

1. 从文件导入公钥

bash

gpg --import public-key.asc  # 导入公钥文件


获取公钥文件:

对方直接发送.asc或.gpg格式的公钥文件。

从密钥服务器下载(见下文)。

2. 从密钥服务器导入公钥

bash

# 通过邮箱或密钥ID导入

gpg --keyserver hkps://keys.openpgp.org --recv-keys alice@example.com

# 或通过完整密钥ID导入(如0x123456789ABCDEF0)

gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x123456789ABCDEF0

三、导入已存在的私钥(适用于恢复自己的密钥)

bash

gpg --import private-key.asc  # 导入私钥文件


注意事项:

私钥文件必须妥善保管,避免泄露。

导入时需输入创建私钥时设置的密码短语。

四、验证密钥添加成功

1. 列出所有公钥

bash

gpg --list-keys  # 或简写为 gpg -k


输出示例:

plaintext

/home/alice/.gnupg/pubring.kbx

-------------------------------

pub   rsa4096 2023-01-01 [SC] [expires: 2024-01-01]

      123456789ABCDEF0123456789ABCDEF01234567

uid           [ultimate] Alice <alice@example.com>

sub   rsa4096 2023-01-01 [E] [expires: 2024-01-01]


2. 列出所有私钥

bash

gpg --list-secret-keys  # 或简写为 gpg -K


输出示例:

plaintext

/home/alice/.gnupg/pubring.kbx

-------------------------------

sec   rsa4096 2023-01-01 [SC] [expires: 2024-01-01]

      123456789ABCDEF0123456789ABCDEF01234567

uid           [ultimate] Alice <alice@example.com>

ssb   rsa4096 2023-01-01 [E] [expires: 2024-01-01]


五、后续操作建议

1. 备份私钥

bash

gpg --export-secret-keys > my-private-key.asc  # 导出私钥到文件


将备份存放在安全的离线位置(如加密的外部存储设备)。

2. 发布公钥到密钥服务器

bash

gpg --keyserver hkps://keys.openpgp.org --send-keys 0x123456789ABCDEF0


替换0x...为你的密钥 ID(可通过gpg -k查看)。

3. 设置密钥信任级别

bash

gpg --edit-key alice@example.com  # 进入编辑模式

gpg> trust                         # 设置信任级别


选择信任级别(如5 = 完全信任)。

六、常见问题解答

1. 生成密钥时提示 “Not enough random bytes available”

解决方案:

在系统上执行一些随机操作(如移动鼠标、打开 / 关闭程序)以增加熵池。

安装haveged工具生成更多随机数:

bash

sudo apt install haveged  # Debian/Ubuntu

sudo systemctl start haveged


2. 导入私钥时提示 “Bad passphrase”

解决方案:

确认输入的密码短语正确(区分大小写)。

尝试使用gpg --edit-key命令重置密码短语:

bash

gpg --edit-key alice@example.com

gpg> passwd  # 重置密码短语



通过以上步骤,你可以在 GnuPG 中成功添加新密钥,并进行必要的验证和管理。


我们提供7X24小时售后服务,了解更多机房产品和服务,敬请联系
购买咨询 售后服务