![将公钥从github导入到本地ubuntu账户](https://linux22.com/image/1166205/%E5%B0%86%E5%85%AC%E9%92%A5%E4%BB%8Egithub%E5%AF%BC%E5%85%A5%E5%88%B0%E6%9C%AC%E5%9C%B0ubuntu%E8%B4%A6%E6%88%B7.png)
我正在设置一个新的 Ubuntu (18.04) 服务器,并在安装过程中注意到我可以从 github 导入公钥。我现在已经完成设置,并想创建更多用户。如果可能的话,继续从 github 导入他们的公钥似乎是理想的选择。有没有办法在安装过程之外为用户触发从公共 github 配置文件导入密钥的功能?
答案1
发布问题后不久,我找到了答案。有一个特殊命令ssh-import-id
可以导入 ssh 密钥。ssh-import-id 的手册页解释得很好。它的托管地址是启动板上的 ssh-import-id也一样。
基本用法:
# import keys from github
ssh-import-id-gh <username>
我希望这对其他人有帮助。
答案2
GitHub 通过API 端点您可以下载并解析。不幸的是,这确实会返回 JSON 格式的对象,因此有时解析起来有点困难(尤其是在 shell 中)。
幸运的是,还有另一个端点可以获取用户的公共 SSH 密钥:
https://github.com/<username>.keys
您可以使用它来wget
非常简单地下载和附加密钥,无需任何解析:
wget -O - https://github.com/myuser.keys >> /home/myuser/.ssh/authorized_keys
请注意,要使用此命令,您需要对该用户的主目录具有写入权限。您也可以选择使用tee -a
,如果权限无法保证,这会更容易:
wget -O - https://github.com/myuser.keys | sudo tee -a /home/myuser/.ssh/authorized_keys