我听说在Github上有一个公共URL,可以访问所有用户的公钥,或者他们可以提供该URL以供所有公钥使用。这是真的吗?如果是,那么该URL是什么?Bitbucket也有吗?
我听说在Github上有一个公共URL,可以访问所有用户的公钥,或者他们可以提供该URL以供所有公钥使用。这是真的吗?如果是,那么该URL是什么?Bitbucket也有吗?
您可以使用以下方式:
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
GPG公钥现在可以在 https://github.com/<用户名>.gpg
上获取。
此外,它们还提供了一种检索用户PGP密钥的方法:
GitHub:
https://github.com/USER.keys
https://gitlab.com/USER.gpg
GitLab:
https://gitlab.com/USER.keys
https://gitlab.com/USER.gpg
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
虽然密钥是公开的,但您并不总是希望从默认注释字段中公开内部主机名,因此如果您具有SSH密码访问权限,则建议使用ssh-copy-id
命令,如果在控制台上则使用wormhole
,而在首要位置使用配置管理工具(如Ansible、Puppet等)。