菜单

密钥的生成与使用

在本系统中,用户可以生成一对密钥(公钥 + 私钥)用于接口身份认证。

  • 公钥:上传至系统,用于验证身份
  • 私钥:由用户本地保管,用于对请求进行签名

🔐 什么是密钥?

密钥是一对数学相关的字符串:

  • 公钥(Public Key):可以公开,用于验证签名
  • 私钥(Private Key):必须保密,用于生成签名

系统通过以下方式完成认证:

text 复制代码
客户端使用私钥签名 → 服务端使用公钥验证 → 确认身份

📌 支持的密钥类型

类型
RSA (4096位)

🧰 如何生成密钥

以下是在不同平台生成密钥的方法。


🖥️ macOS / Linux

打开终端,执行:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

交互说明

text 复制代码
Generating public/private key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): [回车]
Enter passphrase (empty for no passphrase): [输入密码]
Enter same passphrase again: [再次输入]

生成结果

默认会生成两个文件:

text 复制代码
~/.ssh/id_rsa        # 私钥(请妥善保管)
~/.ssh/id_rsa.pub    # 公钥(上传到系统)

🪟 Windows

方法一:使用 PowerShell

bash 复制代码
ssh-keygen -t rsa -C "your_email@example.com"

方法二:使用 Git Bash(推荐)

bash 复制代码
ssh-keygen -t rsa -C "your_email@example.com"

🌐 在线工具(不推荐)

虽然存在在线生成密钥的网站,但不建议使用,因为私钥可能泄露。


📤 如何在系统中使用


1️⃣ 上传公钥

.pub 文件内容复制到系统中:

text 复制代码
ssh-rsa AAAAC3NzaC1lZDI1NTE5AAAA... your_email@example.com

2️⃣ 使用私钥签名请求

详见鉴权方式


3️⃣ 服务端验证

服务端会:

text 复制代码
读取用户公钥 → 验证签名 → 确认身份

🔒 安全建议

  • ❗ 私钥绝对不要上传到服务器
  • ❗ 不要通过聊天工具发送私钥
  • ✅ 建议设置 passphrase(密码)
  • ✅ 定期更换密钥

❓ 常见问题


Q:可以在多台机器使用同一密钥吗?

可以,但建议每台设备使用不同密钥,便于管理和吊销。


Q:密钥丢失怎么办?

  • 立即在系统中删除对应公钥
  • 重新生成一对新密钥

Q:可以生成多个密钥吗?

可以,系统支持绑定多个公钥。

最近修改: 2026-04-30