我正在设置一个新的 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