在此运行 完全在你的浏览器里运行,不上传、不登录
SSH 密钥生成
在浏览器里生成 SSH 密钥对:OpenSSH 公钥行、PEM 公钥与私钥,密钥不出设备。
公钥(authorized_keys 行)
公钥(PEM)
私钥(PEM,务必保密)
密钥由浏览器的 Web Crypto API 生成,绝不离开本机:不上传、关闭标签页后也不留存。请自行下载私钥并妥善保管。
只有在浏览器支持时才会提供 Ed25519。若不支持,工具会如实提示,绝不用 RSA 冒充 Ed25519。
怎么用
- 选密钥类型:RSA 2048、RSA 4096,或浏览器支持时的 Ed25519。
- 填备注,比如 user@host。它会追加到公钥行末尾,效果与 ssh-keygen -C 一致。
- 点 Generate。页面用 Web Crypto API 生成密钥,并报告耗时。
- 把公钥行复制到服务器的 ~/.ssh/authorized_keys,或交给管理访问权限的人。
- 立刻下载私钥,存进你自己的密码管理器或密钥库。在下载之前,它只存在于这个页面的内存里。
常见用法
- 给服务器加访问权限 —— 在一台装不了工具链的受限机器上,也能直接产出新的公钥行。
- 换设备后轮换密钥 —— 生成新密钥对,上传公钥,再把旧的删掉。
- 每个服务一把独立密钥 —— 一台主机一把,某把泄露时不会连带打开所有入口。
- 粘贴前先确认格式 —— 公钥行按服务器要求的确切形态展示,不用猜。
- 在没有 ssh-keygen 的机器上工作 —— 只要有支持 Web Crypto 的浏览器,RSA 密钥就能生成。
常见问题
问:私钥会上传或被保存吗? 答:不会。密钥对由浏览器自带的 Web Crypto 实现生成,私钥既不上传、也不写入 localStorage、更不记日志,只在标签页打开期间留在内存里。所以页面才要求你自己下载 —— 服务端没有副本,关掉标签页之后就再也找不回来,这正是你希望一个密钥生成器具备的行为。
问:为什么 Ed25519 有时不可用? 答:Web Crypto 的 Ed25519 尚未被所有浏览器实现。不支持时,工具会明确报告不可用,绝不会用 RSA 冒充 Ed25519 —— 生成一把名实不符的密钥,会破坏你对 authorized_keys 里那条记录的信任。
问:私钥是 OpenSSH 原生格式吗? 答:不是。Web Crypto 导出的是 PKCS#8 PEM。很多工具可以直接用;需要原生格式时,可用 ssh-keygen -i -m PKCS8 导入转换。
问:生成后会验证密钥吗? 答:会报告密钥类型、耗时与公钥长度,但不做测试签名 —— 请把第一次登录当作真正的验证。
你的数据留在这台设备上
SSH 密钥生成 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。
你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。