2013-02-23 2 views
20

커맨드 라인을 통해 GitHub API에 액세스 할 때 ssh 기반 인증을 사용할 수 있습니까? 예 : curl 등?).github API로 ssh 인증을 사용하는 방법은 무엇입니까?

FWIW, 나는 다음 (나는 내 ​​공개 SSH 키 파일을 지정된 다양한 방식)의 많은 변화를 시도했지만 모든 경우에 나는 아직도 내 암호를 입력하라는 메시지가 표시되었다

% curl --pubkey ~/.ssh/id_rsa.pub --user yrstruly https://api.github.com/user/repos 

답변

7

ssh를 사용하고 있다면 'yrstruly'으로 로그온하지 마십시오. 항상 '자식'으로 연결합니다.
공개 키를 사용하면 GitHub에서 'yrstruly'으로 인식 할 수 있습니다.
https 주소를 사용 중이므로 ssh가 아닌 https 주소를 사용하고 있으므로 --pubkey 옵션이 무시 될 수 있습니다. ssh://[email protected], 나는 Github에서이 API에 대한 액세스의 종류를 제안한다 생각하지 않는다 :

유효한 SSH 주소가 될 것입니다.

curl --user option HTTPS에 대한 필요하다 "는 Having trouble downloading Git archive tarballs from Private Repo"에서와 같이 단지 주소 :

curl -sL --user "${username}:${password}" https://github.com... 
+0

마지막 점에 관해서는, 거기에 REPO을 수정 GitHub의 API의 명령의 톤, 그리고 어떤 인증 것이기 분명히 필요합니다. 게다가, 인증은 제쳐두고, 적어도 몇몇 명령은 * -u 매개 변수 없이는 작동하지 않을 수도 있습니다. 모호하기 때문입니다. 예 : '-u' 매개 변수가 없으면 curl -u yrstruly -d '{ "name": "newrepo"}'https : // api.github.com/user/repos'가 새로운 repo "newrepo"를 생성합니다. 지정 되었습니까? – kjo

+0

@kjo 동의합니다. -u가 필요하며 내 대답 (사용자 이름 및 암호 사용)에 사용됩니다. 그러나 ssh가 여기에 관여하지 않았기 때문에 어떤 pubkey도 사용하지 않을 것입니다. – VonC

관련 문제