JavaScript로 Bitbucket API wrapper을 개발 중입니다. SSH 키를 추가하는 메서드에 대한 테스트를 작성하려고합니다. 믿을만한 SSH 키를 만드는 나의 순진한 시도는 실패했습니다. "SSH-RSA" JavaScript로 올바른 형식의 SSH 키 생성
는 임의의 문자의 279 문자열- 시작 : 여기 더미 키를 생성하는 방법은 임의의 문자의 문자열
- APPEND "@"
- 는 임의의 문자의 16 문자열
- APPEND ".COM" 0123를 추가
Bitbucket은 이러한 방식으로 POST an SSH key이 생성 될 때 400 Bad Request를 반환합니다. 다행스럽게도 Bitbucket의 소스 코드에 액세스 할 수 있으므로 조금 더 자세히 파고들 수 있습니다. Bitbucket은 ssh-keygen
을 통해 SSH 키를 실행하여 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 엔드 포인트를 테스트 할 수 있어야합니다. 또한 테스트가 브라우저에서 실행되므로 키를 생성 할 수 없습니다.
키를 생성하기 위해 "쉘 아웃"할 수는 없지만 브라우저에서 생성 된 (또는 유효한) SSH 키를 검색하려면 AJAX 요청을 할 수 있습니까? –
@JohnK 필요한 경우 예. 가벼운 Sinatra 앱을 통해 요청을 프록시 처리하고 있지만 가능하다면 중개자 이상의 것을 사용하지 않는 것이 좋습니다. – davidchambers