71

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

4

5 回答 5

124

你可以得到:

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

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

curl -i https://bitbucket.org/api/1.0/users/<accountname>/ssh-keys
于 2013-04-23T00:02:49.567 回答
31

GPG 公钥现在可在https://github.com/<username>.gpg

于 2019-01-16T18:17:42.927 回答
6

也适用于 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
于 2019-09-29T03:31:39.200 回答
2

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

GitHub

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

亚搏体育app

https://gitlab.com/USER.keys
https://gitlab.com/USER.gpg
于 2021-12-26T13:51:29.780 回答
0

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

于 2020-04-11T01:05:29.073 回答