Github公钥的公共URL是什么?

97

我听说在Github上有一个公共URL,可以访问所有用户的公钥,或者他们可以提供该URL以供所有公钥使用。这是真的吗?如果是,那么该URL是什么?Bitbucket也有吗?

5个回答

166

您可以使用以下方式:

curl https://github.com/<username>.keys

<username>替换为GitHub用户的实际用户名。

在您将登录权限设置为其他服务器时,这非常有用。只需将其输出保存到~/.ssh/authorized_keys中即可。要在命令行中将其追加到末尾:

curl https://github.com/<username>.keys | tee -a ~/.ssh/authorized_keys

还可以使用Github API来完成。

curl -i https://api.github.com/users/<username>/keys

您可以使用以下内容来进行位桶(bit bucket)操作:(此调用需要身份验证。)

curl -i https://bitbucket.org/api/1.0/users/<accountname>/ssh-keys

如果我知道一个Git公钥URL,我如何获取访问权限或克隆存储库? - Hà Link
1
这也适用于 GitHub 的企业版本。例如:<企业网址>/<用户名>.keys - Shane Gannon
2
@holmb,根据最新的文档,此端点需要身份验证。我认为这在一段时间内发生了变化,我不记得我第一次发布这个答案时是这样的。https://confluence.atlassian.com/bitbucket/ssh-keys-resource-296911735.html#ssh-keysResource-GET/users/{accountname}/ssh-keys - frazras
1
@fazras:请更新有关BitBucket更改的答案。谢谢。 - Jumper
1
@dzieciou 我不是 GitHub 的管理员,但听起来在某些组织中可能已被禁用。在我们的企业 GitHub 中仍然是开放的。 - Shane Gannon
显示剩余4条评论

42

GPG公钥现在可以在 https://github.com/<用户名>.gpg 上获取。


9

此外,它们还提供了一种检索用户PGP密钥的方法:

GitHub

https://github.com/USER.keys
https://gitlab.com/USER.gpg

GitLab:

https://gitlab.com/USER.keys
https://gitlab.com/USER.gpg

9
同样适用于GitLab。
https://gitlab.com/<username>.keys

在bash脚本中也能很好地工作。

#GitProvider to fetch public keys (gitlab.com,github.com)
GitProvider="gitlab.com"
GitUsername="username"
curl https://${GitProvider}/${GitUsername}.keys | tee -a ~/.ssh/authorized_keys

-2

虽然密钥是公开的,但您并不总是希望从默认注释字段中公开内部主机名,因此如果您具有SSH密码访问权限,则建议使用ssh-copy-id命令,如果在控制台上则使用wormhole,而在首要位置使用配置管理工具(如Ansible、Puppet等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接