关于此工具
SSH 密钥对由一个公钥和一个私钥组成:公钥会被你上传到服务器(写入服务器上的 `~/.ssh/authorized_keys`,或者作为 GitHub/GitLab 上的部署密钥),私钥则保留在你自己的机器上,绝不外泄。连接时,服务器会要求你的客户端证明它持有与已登记公钥匹配的私钥——但私钥本身从不会被传输。Ed25519 是现代的默认选择:它使用比 RSA 短得多的密钥(256 位而非 2048 位以上),却能提供相当甚至更好的安全性,生成和验证速度也更快。这里仍然提供 RSA,是为了兼容尚未升级的旧服务器、嵌入式设备,以及一些尚未转向 Ed25519 的企业策略。
这个生成器的每一个字节都通过你浏览器内置的 WebCrypto API 运行——这正是 HTTPS、WebAuthn 等浏览器安全功能所使用的同一套加密引擎。你在这里生成的任何内容都不会发送到任何服务器:密钥对、其 OpenSSH 格式的公钥、PEM 编码的私钥以及 SHA-256 指纹,全部在此浏览器标签页中本地生成、编码并展示,一旦你离开或刷新页面即会消失(与本站的其他一些工具不同,此页面不会将你的密钥保存到 `localStorage` 中)。请将 `.pub` 文件下载后写入服务器的 `authorized_keys`,将私钥下载到 `~/.ssh/` 目录并执行 `chmod 600`,再用 `ssh-keygen -lf` 的输出核对指纹,以确认传输过程中没有被篡改。
常见问题
我应该使用 Ed25519 还是 RSA?
Ed25519 是目前的推荐选择:密钥更小、运算更快,安全性同样强大,且所有当前版本的 OpenSSH 均支持它。仅当你必须连接到不支持 Ed25519 的旧版服务器时才使用 RSA(4096 位)。
如何将公钥安装到服务器上?
将下载的 .pub 文件内容追加到服务器上的 ~/.ssh/authorized_keys 文件中(如果你也在本地保存了私钥,也可以从终端使用 `ssh-copy-id`),然后妥善保管私钥文件,并通过 `ssh -i path/to/key user@host` 引用它。