Я настраиваю новый сервер Ubuntu (18.04) и заметил во время установки, что могу импортировать открытые ключи из github. Я сейчас закончил настройку и хотел бы создать еще несколько пользователей. Кажется идеальным продолжать импортировать их открытые ключи из github, если это возможно. Есть ли способ активировать эту функцию импорта ключей из общедоступного профиля github для пользователя вне процесса установки?
Вскоре после публикации вопроса я нашел ответ. Существует специальная команда ssh-import-id
, которая может импортировать ssh-ключи. Справочная страница для ssh-import-id объясняет это довольно хорошо. Он также размещен как ssh-import-id на панели запуска .
Основное использование:
# import keys from github
ssh-import-id-gh <username>
Я надеюсь, что это помогает другим.
GitHub предоставляет это через конечную точку API , которую можно загрузить и проанализировать. К сожалению, для нас это возвращает объекты в формате JSON, поэтому иногда бывает сложно разобрать (особенно в оболочке).
К счастью для нас, есть еще одна конечная точка для получения открытых 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