我正在設定一個新的 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