在通过命令行访问GitHub API时是否有某种方法可以使用基于ssh的身份验证(通过,例如,curl等?)。
FWIW,我尝试了以下几种变体(改变了我指定公共ssh密钥文件的方式),但在每种情况下我仍然提示输入密码:
% curl --pubkey ~/.ssh/id_rsa.pub --user yrstruly https://api.github.com/user/repos
答案 0 :(得分:8)
如果您使用的是ssh,那么您永远不会以“yrstruly
”身份登录。你总是以'git'的形式连接
您的公钥足以让GitHub将您识别为“yrstruly
”
由于您使用的是https地址而不是ssh地址,因此可能会忽略--pubkey
选项。
一个有效的ssh地址是:ssh://git@api.github.com
,我认为Github不会为其API提出这种访问权。
只有https地址才需要curl --user
option,例如“Having trouble downloading Git archive tarballs from Private Repo”:
curl -sL --user "${username}:${password}" https://github.com...