Я настраиваю новый сервер 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