Github 公钥的公共 URL 是啥

Posted

技术标签:

【中文标题】Github 公钥的公共 URL 是啥【英文标题】:What is the public URL for the Github public keysGithub 公钥的公共 URL 是什么 【发布时间】:2013-04-16 00:10:14 【问题描述】:

我听说 github 上的所有用户都有一个公共 URL,您可以在其中访问他们的公共密钥,或者他们可以提供所有公共密钥的 URL。这是真的?如果是这样,该 URL 是什么。 bitbucket 也存在吗?

【问题讨论】:

【参考方案1】:

你可以得到:

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

&lt;username&gt;替换为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

对于位桶,您可以使用以下内容:(此调用需要身份验证。)

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

【讨论】:

如果我知道一个 git 公钥 URL,我怎样才能访问或克隆存储库? 这也适用于企业版的 github。例如/.keys @holmb,根据最新文档,此端点需要身份验证。我认为这随着时间的推移而改变,我不记得当我第一次发布这个答案时是这样的。 confluence.atlassian.com/bitbucket/…accountname/ssh-keys @fazras:请务必更新有关 BitBucket 更改的答案。谢谢。 @dzieciou 我不是 GitHub 管理员,但这听起来像是在某些组织中可能被禁用的东西。它仍然在我们的企业 GitHub 中打开。【参考方案2】:

GPG 公钥现在可通过https://github.com/&lt;username&gt;.gpg 获得

【讨论】:

【参考方案3】:

同样适用于 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

【讨论】:

【参考方案4】:

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

GitHub

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

GitLab

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

【讨论】:

【参考方案5】:

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

【讨论】:

以上是关于Github 公钥的公共 URL 是啥的主要内容,如果未能解决你的问题,请参考以下文章

将 Github 存储库设为私有但希望显示公共消息

将 Github 页面的 URL 更改为私有

Git 推送到远程仓库

GitHub 使用

GitHub 使用

GitHub设置公钥