34

通过命令行(例如,curl 等)访问 GitHub API 时,是否有某种方法可以使用基于 ssh 的身份验证?

FWIW,我尝试了以下许多变体(改变我指定公共 ssh 密钥文件的方式),但在每种情况下,我仍然被提示输入密码:

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

4

1 回答 1

11

如果您使用的是 ssh,那么您永远不会以 ' yrstruly' 身份登录。您将始终以“git”的身份连接。
您的公钥足以让 GitHub 将您识别为“ yrstruly”。
而且由于您使用的是 https 地址,而不是 ssh 地址,因此该--pubkey选项可能会被忽略。

一个有效的 ssh 地址应该是: ssh://git@api.github.com,而且我认为 Github 不会为其 api 提供这种访问权限。

curl --user选项仅对 https 地址是必需的,如“从 Private Repo 下载 Git 归档 tarball 时遇到问题”:

curl -sL --user "${username}:${password}" https://github.com...
于 2013-02-24T00:36:22.370 回答