Toolonit
  1. 首页
  2. 加密
  3. SSH 密钥生成

SSH 密钥生成器(Ed25519、RSA)

生成 OpenSSH 格式的 Ed25519 或 RSA SSH 密钥对。

密钥类型

Ed25519 是现在的默认选择:密钥短小,当前的 SSH 服务器、GitHub 和 GitLab 都接受。

可选。写在公钥末尾,用来区分不同的密钥——通常是邮箱地址或计算机名称。

有了 SSH 密钥对,就可以不用密码登录服务器、向 GitHub 或 GitLab 推送代码:公钥放在服务器上,私钥留在你自己手里。本工具使用浏览器的 Web Crypto,生成与 ssh-keygen 相同的文件——id_ed25519 和 id_ed25519.pub,RSA 则为 id_rsa。密钥在你的设备上生成,不会上传或保存;免费,无需注册。

如何生成 SSH 密钥

  1. 选择 Ed25519(推荐),旧服务器可选 RSA,并添加一条注释,例如 you@laptop。
  2. 点“生成 SSH 密钥”。
  3. 把两个文件都下载到 ~/.ssh,然后运行 chmod 600 ~/.ssh/id_ed25519。
  4. 把公钥行添加到服务器的 ~/.ssh/authorized_keys,或添加到你的 GitHub 账户。

功能

  • Ed25519(默认)、RSA 3072 或 RSA 4096
  • 与 ssh-keygen 输出相同的 OpenSSH 文件:id_ed25519 和 id_ed25519.pub,或 id_rsa 和 id_rsa.pub
  • SHA256 指纹,与 ssh-keygen -l 的输出一致
  • 可选注释,例如 you@laptop;修改注释会为同一把密钥重写两个文件
  • 每个文件都可复制或下载,并附有后续步骤和添加密码短语的 ssh-keygen 命令
  • 由浏览器内置的 Web Crypto 生成

隐私安全吗?

是的。密钥由浏览器的 Web Crypto 生成,只存在于本页:不会上传或保存任何内容。离开或刷新页面之前,请下载两个文件。

常见问题

这和 ssh-keygen 生成的密钥一样吗?

一样,采用相同的 OpenSSH 格式。ssh-keygen -y -f id_ed25519 会输出相同的公钥行,ssh-keygen -l -f id_ed25519 会输出与这里显示的相同的指纹(已用 OpenSSH 9.6 对 Ed25519 和 RSA 进行验证)。

如何添加密码短语?

生成的密钥不带密码短语。保存后,运行 ssh-keygen -p -f ~/.ssh/id_ed25519 并输入新的密码短语:ssh-keygen 会直接加密该文件。

应该选 Ed25519 还是 RSA?

选 Ed25519:它短小、快速,OpenSSH 6.5 及以上版本、GitHub 和 GitLab 都支持。在这里生成它需要 Chrome 137+、Firefox 129+ 或 Safari 17+。对于不支持 Ed25519 的旧系统,或在较旧的浏览器中,请选择 RSA(3072 或 4096 位)。

如何把密钥添加到 GitHub?

复制公钥行(id_ed25519.pub 的内容),粘贴到 GitHub 的 Settings → SSH and GPG keys → New SSH key 中。私钥保存在 ~/.ssh 之后,运行 ssh -T git@github.com,就会看到用你的用户名打的招呼。

为什么 ssh 提示权限过于开放?

OpenSSH 会拒绝其他用户可读的私钥文件。运行 chmod 600 ~/.ssh/id_ed25519,并将 ~/.ssh 文件夹的权限保持为 chmod 700。

相关工具