Импортируйте открытый ключ из github в локальную учетную запись ubuntu

Импортируйте открытый ключ из github в локальную учетную запись ubuntu

Я настраиваю новый сервер 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, поэтому иногда их сложно разобрать (особенно в оболочке).

К счастью для нас, есть еще одна конечная точка для получения публичных 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

Связанный контент