Вопрос или проблема
Одна из функций, которую я ценю в современном установщике сервера Ubuntu, – это возможность импортировать публичный SSH-ключ в мою учетную запись во время настройки. Это не работает, когда вы выполняете установку десктопа, насколько я знаю, или если вы устанавливаете корневую систему ZFS с нуля (поскольку вы используете debootstrap).
Существует ли способ сделать что-то аналогичное — запустить скрипт, импортировать публичный ключ в соответствующее место на установленном/работающем сервере или десктоп-инстансе Ubuntu?
Оказывается, в Ubuntu есть встроенное приложение для этого, и оно задокументировано. Это импортирует ваши ключи с GitHub:
ssh-import-id gh:имя_пользователя
Если вы хотите импортировать ключи Launchpad, вы можете либо не указывать gh:
, либо заменить его на lp:
.
Ответ или решение
Да, существует "легкий" способ импорта SSH-ключей из GitHub в установленную систему Ubuntu. Это можно сделать с помощью встроенной утилиты ssh-import-id
, которая позволяет импортировать ваши публичные SSH-ключи непосредственно из GitHub или Launchpad.
Шаги для импорта SSH-ключей из GitHub:
-
Убедитесь, что OpenSSH установлен: Прежде всего, необходимо установить OpenSSH, если он еще не установлен. Это можно сделать с помощью следующей команды:
sudo apt update sudo apt install openssh-client
-
Импорт вашего публичного ключа из GitHub:
Чтобы импортировать SSH-ключи из вашего аккаунта GitHub, выполните следующую команду, заменивusername
на ваше имя пользователя на GitHub:ssh-import-id gh:username
Эта команда автоматически извлечет публичные ключи из вашего аккаунта GitHub и добавит их в файл
~/.ssh/authorized_keys
на текущем пользователе. -
Импорт ключей из Launchpad (при необходимости):
Если вы хотите импортировать ключи из Launchpad, вы можете использовать следующую команду:ssh-import-id lp:username
Здесь также замените
username
на ваше имя пользователя в Launchpad.
Дополнительные рекомендации:
-
Проверка существующих ключей: После импорта ключей вы можете убедиться, что они были добавлены правильно, проверив содержимое файла
~/.ssh/authorized_keys
. Для этого выполните следующее:cat ~/.ssh/authorized_keys
-
Настройки прав на ключи: Убедитесь, что права на файлы SSH настроены корректно, чтобы избежать проблем с доступом. Выполните команду:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
-
Проверка SSH-доступа: После импорта ключей вы можете протестировать SSH-доступ к вашему серверу, используя:
ssh username@your_server_ip
Заключение:
Использование ssh-import-id
значительно упрощает процесс импорта SSH-ключей из GitHub и Launchpad. Это удобный способ, который позволяет вам быстро настроить доступ к вашему серверу без необходимости вручную копировать и вставлять ключи. Таким образом, вы можете сосредоточиться на других задачах при настройке вашей системы Ubuntu.