Рейтинг:2

Как использовать ssh_import_id с cloud-init на сервере Raspberry Pi 4/w Ubuntu 20.04?

флаг cn
mtg

Я хочу автоматически настроить свои ключи SSH на новой установке Ubuntu Server 20.04 на Raspberry Pi 4 - в основном в качестве учебного упражнения. я пытаюсь использовать ssh_import_id вариант облачная инициализация чтобы вытащить мой открытый ключ SSH из моей учетной записи GitHub и добавить его в ~/.ssh/authorized_keys для Пи пользователь.

Я не могу понять ssh_import_id config для запуска. ~/.ssh каталог никогда не создавался для Пи пользователя, и нет журналов, связанных с извлечением ключа из GitHub/ssh_import_id в /var/logs/cloud-init.log или же /var/log/cloud-init-output.log.

Текущее содержимое моего данные пользователяв корень SD-карты:

  - имя: пи
    группы: [судо]
    судо: ВСЕ = (ВСЕ) NOPASSWD: ВСЕ
    ssh_import_id: # импортируем открытый ключ из github
      - gh:my_cool_github_account
    lock_passwd: true # отключить вход по паролю

Все работает нормально, если я ввожу открытый ключ вручную, используя ssh_authorized_keys, который подойдет для моего рабочего процесса, но я надеюсь настроить GitHub, так как он шикарный.

Мое понимание облачная инициализация определенно немного базовый, поэтому я, возможно, что-то пропустил. Я запускаю изменения, запустив облачная инициализация чистая а потом инициализация облака, который чувствует, что он работает нормально, поскольку он переделывает пользователей / общие биты / корневые ключи ssh и отпечатки пальцев.

Я предположительно также использую NoCloud источник данных.

Может ли кто-нибудь помочь мне понять, что я делаю неправильно?

Рейтинг:1
флаг th

Это только фрагмент ваших пользовательских данных? Если нет, то вам также понадобится #cloud-config заголовок и пользователи:. Что-то вроде этого должно работать:

#cloud-config
пользователи:
  - имя: пи
    группы: [судо]
    судо: ВСЕ = (ВСЕ) NOPASSWD: ВСЕ
    ssh_import_id:
      - гх:торвальдс
    lock_passwd: правда

Я только что проверил и нашел ключ в /home/pi/.ssh/authorized_keys. Вы уверены, что у пользователя github, которого вы пытаетесь импортировать, есть ключи, расположенные по адресу https://github.com/settings/keys?

/var/log/cloud-init.log содержит:

2021-08-09 13:56:24,302 - helpers.py[DEBUG]: запуск config-ssh-import-id с использованием блокировки (<FileLock с использованием файла '/var/lib/cloud/instances/me/sem/config_ssh_import_id'> )
09.08.2021, 13:56:24,302 — cc_ssh_import_id.py[DEBUG]: импорт идентификаторов SSH для пользователя pi.
2021-08-09 13:56:24,302 - subp.py[DEBUG]: выполнение команды ['sudo', '-Hu', 'pi', 'ssh-import-id', 'gh:torvalds'] с разрешенными коды возврата [0] (shell=False, capture=False)
Рейтинг:0
флаг jo

Попробуй:

пользователи:
  - имя: пи
    ssh_authorized_keys:
      - ssh-rsa <здесь ваш ключ>

Это должно поместить ваш ключ в .ssh/authorized_keys файл Пи пользователь

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.