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