Skip to main content
CheckTown
生成工具

SSH 密钥生成器:创建 Ed25519、ECDSA 和 RSA 密钥

发布于 阅读约 5 分钟
本文目录

了解 SSH 密钥

SSH 密钥为基于密码的身份验证提供了更安全、更便捷的替代方案。你无需在每次连接服务器或向 Git 仓库推送代码时都输入密码,SSH 使用一对加密密钥——一把私钥保存在你的机器上,一把公钥分享给服务器。服务器通过数学方式验证你的身份,而你的密钥始终不会在网络上传输。

现代 SSH 支持多种密钥类型。Ed25519 是大多数用户的推荐选择——它以紧凑的密钥尺寸和快速的运算提供强大的安全性。ECDSA 提供类似的椭圆曲线安全性,并在较旧的系统上具有更广泛的兼容性。RSA 依然得到广泛支持,也是某些老旧系统唯一可用的选项,不过它需要更长的密钥长度(至少 3072 位,最好 4096 位)才能达到与新算法相当的安全性。

如何使用 SSH 密钥生成器

CheckTown 的 SSH 密钥生成器直接在你的浏览器中创建密钥对,不会向任何服务器发送数据。

  • 选择密钥算法——Ed25519(推荐)、ECDSA(P-256、P-384、P-521)或 RSA(2048、3072、4096 位)
  • 可选择添加注释以标识密钥(通常是你的电子邮件地址),以及口令以获得额外保护
  • 点击「生成」创建你的密钥对——私钥和公钥会显示在各自的字段中,随时可以复制
  • 将私钥保存到本地机器(通常位于 ~/.ssh/id_ed25519),并将公钥添加到你的服务器或 Git 托管服务商

免费试用 —— 无需注册

生成 SSH 密钥 →

SSH 密钥安全提示

SSH 密钥是强大的凭证。妥善保护它们对于维护服务器和账户的安全至关重要。

  • 务必为私钥添加口令——如果密钥文件被盗,口令能防止攻击者立即使用它
  • 为私钥文件设置严格的文件权限——使用 chmod 600 让只有你的用户账户能够读取它,并对 .ssh 目录使用 chmod 700
  • 为不同用途使用独立的密钥对——一个用于工作服务器,一个用于个人项目,另一个用于 Git 托管。这样即便某个密钥泄露,影响范围也会受到限制

常见问题

我应该使用哪种 SSH 密钥类型?

除非有特殊原因,否则请使用 Ed25519。它以最小的密钥尺寸(256 位)提供强大的安全性、快速的签名生成,并能抵御某些侧信道攻击。如果你需要与不支持 Ed25519 的旧系统兼容,请使用 P-256 曲线的 ECDSA。仅在远程系统要求时才使用 RSA,并且始终使用至少 4096 位。

在浏览器中生成 SSH 密钥安全吗?

该工具完全使用 Web Crypto API 在你的浏览器中生成密钥。任何私钥数据都不会被发送到任何服务器——所有加密运算都在你的设备本地完成。你可以在生成密钥时通过浏览器开发者工具的网络标签页来验证这一点。对于高价值服务器的最高安全性需求,你也可以在终端使用 ssh-keygen 本地生成密钥。

如何将我的公钥添加到服务器?

复制你的公钥,并将其追加到远程服务器上的 ~/.ssh/authorized_keys 文件中。你可以使用 ssh-copy-id 命令来完成,也可以手动将公钥粘贴到 authorized_keys 文件的新一行。请确保 authorized_keys 文件的权限设置为 644,.ssh 目录的权限设置为 700。在 GitHub 或 GitLab 等 Git 平台上,将你的公钥粘贴到账户设置的 SSH 密钥板块中。

相关工具