通过命令行(例如,curl 等)访问 GitHub API 时,是否有某种方法可以使用基于 ssh 的身份验证?
FWIW,我尝试了以下许多变体(改变我指定公共 ssh 密钥文件的方式),但在每种情况下,我仍然被提示输入密码:
% curl --pubkey ~/.ssh/id_rsa.pub --user yrstruly https://api.github.com/user/repos
通过命令行(例如,curl 等)访问 GitHub API 时,是否有某种方法可以使用基于 ssh 的身份验证?
FWIW,我尝试了以下许多变体(改变我指定公共 ssh 密钥文件的方式),但在每种情况下,我仍然被提示输入密码:
% 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
选项仅对 https 地址是必需的,如“从 Private Repo 下载 Git 归档 tarball 时遇到问题”:
curl -sL --user "${username}:${password}" https://github.com...