Curl 如何在GithubAPI中使用ssh身份验证?

Curl 如何在GithubAPI中使用ssh身份验证?,curl,github,ssh,github-api,Curl,Github,Ssh,Github Api,在通过命令行访问GitHub API时,是否有一些方法可以使用基于ssh的身份验证(例如,通过curl等) FWIW,我尝试了以下多种方法(改变了我指定公共ssh密钥文件的方式),但每次都会提示我输入密码: % curl --pubkey ~/.ssh/id_rsa.pub --user yrstruly https://api.github.com/user/repos 如果您使用的是ssh,那么您将永远不会以“y”身份登录。您将始终以“git”身份连接。 您的公钥足以让GitHub识别您为

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

FWIW,我尝试了以下多种方法(改变了我指定公共ssh密钥文件的方式),但每次都会提示我输入密码:

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

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

有效的ssh地址应为:
ssh://git@github.com
,我不认为github建议对其api进行这种访问

仅https地址需要,如“”:


关于最后一点,GitHub API中有大量命令用于修改repo,显然需要进行身份验证。此外,除了身份验证之外,如果没有
-u
参数,这些命令中至少有一些可能无法工作,因为它们是不明确的。例如,
curl-uyrstruly-d'{“name”:“newrepo”}https://api.github.com/user/repos
如果未指定
-u
参数,则创建新回购“newrepo”?@kjo我同意,-u是必需的,我在回答中使用它(使用用户名和密码)。但是,我不会使用任何公钥,因为这里不涉及ssh。@VonC 2018年的情况仍然如此吗?可以创建ssh部署密钥,这些密钥可能打算与API一起使用,但我无法解决how@MarkAdamson您是否尝试过使用
curl-u git:--key~/.ssh/yourKey…
?但是,是的,对于GitHub,ssh是无法从外部访问的。@VonC阅读了更多内容后,我意识到部署密钥不允许访问GitHub API,它们只是用于处理本机Git操作
curl -sL --user "${username}:${password}" https://github.com...