我正在用 JavaScript开发一个Bitbucket API 包装器。我正在尝试为添加 SSH 密钥的方法编写测试。我创建可信 SSH 密钥的天真尝试没有成功。这是我生成虚拟密钥的方式:
- 以“ssh-rsa”开头
- 附加 279 个随机字符串的 Base64 编码表示
- 附加“”
- 附加一个 16 字符的随机字符串
- 附加“@”
- 附加一个 16 字符的随机字符串
- 附加“.com”
当我POST以这种方式生成的 SSH 密钥时,Bitbucket 返回 400 Bad Request 。幸运的是,我可以访问 Bitbucket 的源代码,所以我能够更深入地挖掘。Bitbucket 通过运行 SSH 密钥来验证它们ssh-keygen
。
我不明白 SSH 密钥是如何生成的,所以我可能会问一个愚蠢的问题。是否有可能生成一个足以令人信服的 SSH 密钥ssh-keygen
?这是输出:
$ ssh-keygen -l -f ~/Desktop/dummy_rsa.pub
buffer_get_string_ret: bad string length 1903654498
key_from_blob: can't read key type
key_read: key_from_blob cXd2YnRzZXpha3Rld2V4YmdieWdoeWl2aXpla3hkaHBodnlteHl2ZHl0bnloYmRyYWZrdnVxaWR3cHBydnFmZWFkaHp0aGRwYml6ZXVxY3ZlZ3NiZ29lanl0cG9vZmlnZ2dyZmJ3aWxsdXJhb2puYWRjY3F0YW5rcGV3Z3dkc3lxd2tkb3d6emFzbXpubXJ1eGN2bm53a3l6bmRjenV1dnplbnFtZ3Z5bm96ZGZhandwcG9mcHVoaWFkZ25ud3VkdnB0enV6Zm51bWVxanhzanlwa2ZodGxpd2xld2pnY3dhbmJ6aXVyamp6c29rbm54dHp2enJmeWhnY2ZrcWlqemFscGNnbWJsY3lpcmRtYXFkbHB6c3l0 duvrnzsladfrmccr@xqrbenpfryhoklgw.com
failed
/Users/dc/Desktop/dummy_rsa.pub is not a public key file.
需要明确的是,我不需要生成“有效”的 SSH 密钥,我只需要能够测试各种 API 端点。此外,由于测试在浏览器中运行,我无法生成密钥。