693 字
3 分钟

某科学的 SSH 算号指南

关联阅读:

为什么你不应该继续使用PGP:

TLDR:不安全了,全是洞。

如何优雅的算号#

ed25519#

与RSA相比,ed25519的算号速度快了不止一个数量级。而且ed25519的密钥更短,更适合现代应用。还能够抵抗量子计算攻击。还有任何使用RSA的理由吗?所以,这里只考虑ed25519。

相关工具#

Mattias-
/
vanity-ssh-keygen
Waiting for api.github.com...
00K
0K
0K
Waiting...

刚开始我发现了这个。看上去挺好用的,但是只能使用CPU算号,速度不够快。我忍了,在大概大半天后我算出了第一个号。于是我兴冲冲的加到了GitHub里面。结果发现GitHub显示的是这个的SHA256指纹,而不是字面值。气抖冷,我受不了了,这意味着我算出来的靓号没有人能够看到!

但是我找不到其他能用的工具了,只能自己想办法。

baka-gourd
/
VanitySshSha256
Waiting for api.github.com...
00K
0K
0K
Waiting...

蛤蛤!这才是GitHub上能用的算号器!由CUDA强力驱动,使用正则匹配的是SHA256指纹!这样子,我们终于能够让所有人看到我们的靓号了!

注意,CUDA目前不支持在Visual Studio 2026 Insider下编译,所以如果你和我一样,你需要安装一下VS 2022的生成工具。本项目使用的是vcpkg来做包管理,所以是不支持Linux的捏。有人闲的话可以帮忙支持一下。

基准和其他问题#

在我本机上,RTX 3060的速度比CPU快了大概10倍。所以如果你真的不是没有N卡,千万别用CPU算号。目前随机数由libsodium的CSPRNG提供,理论上还挺安全的哈。

然后是最后一位的问题。因为SHA256的模式有限,所以最后一位只能是 A E I M Q U Y c g k o s w 0 4 8 这些字符中的一个。但是值得庆幸的是,一些神秘字符串刚好在里面,所以完全没有问题!

现在默认输出的Comment是密钥的SHA256指纹。这个可以用ssh-keygen -c -f <keyfile>来修改成你想要的Comment。不会影响具体的指纹,可以随便改。

我没有做对字面量的支持,因为很少有地方会看见字面量的SSH Key。但是可以改捏,有闲的人可以帮忙加个Option。以及最后的最后,我不是密码学仙人。使用靓号必然降低一定的安全性,我也不知道实现是否真正的安全,所以请谨慎使用。

祝大家算号愉快!

某科学的 SSH 算号指南
https://nptr.cc/posts/2026-02/vanity-ssh-key/
作者
Nullpinter
发布于
2026-02-03
许可协议
All Right Reserved.