我正在使用JavaScript開發Bitbucket API wrapper。我正在嘗試爲添加SSH密鑰的方法編寫測試。我天真地嘗試創建一個可信的SSH密鑰並不成功。下面是如何生成的虛擬按鍵:在JavaScript中生成格式良好的SSH密鑰
- 開始與「SSH-RSA」
- 追加隨機字符279字符串
- 追加「」
- 追加16的Base64編碼表示隨機字符字符串
- 追加「@」
- 追加隨機字符16字符串
- 追加「.COM」
當我以這種方式生成I POST an SSH key時,Bitbucket返回400錯誤請求。幸運的是,我可以訪問Bitbucket的源代碼,所以我可以深入一點。 Bitbucket通過運行ssh-keygen
來驗證SSH密鑰。
我不明白如何生成SSH密鑰,所以我可能會問一個愚蠢的問題。是否有可能生成足以說服傻瓜ssh-keygen
的SSH密鑰?下面是輸出:
$ 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 [email protected]
failed
/Users/dc/Desktop/dummy_rsa.pub is not a public key file.
要清楚,我並不需要生成一個「有效」 SSH密鑰,我只需要能夠測試各種API端點。另外,由於測試在瀏覽器中運行,所以我無法生成一個密鑰。
您不能「出殼」生成密鑰,但是您可以向瀏覽器發出AJAX請求以從服務器檢索生成的(或有效的)SSH密鑰? –
@JohnK如果有必要,是的。我通過一個輕量級的Sinatra應用程序來代理請求,儘管如果可能的話我寧願避免讓它比中間人更多。 – davidchambers