Puncte:2

Cum să utilizați ssh_import_id cu cloud-init pe Raspberry Pi 4 /w Ubuntu 20.04 Server?

drapel cn
mtg

Caut să-mi configurez automat cheile SSH pe o instalare proaspătă Ubuntu Server 20.04 pe un Raspberry Pi 4 - mai ales ca exercițiu de învățare. Încerc să folosesc ssh_import_id opțiunea de cloud-init pentru a extrage cheia mea publică SSH din contul meu GitHub și pentru a o adăuga la ~/.ssh/authorized_keys pentru pi utilizator.

Se pare că nu pot obține ssh_import_id config pentru a începe ~/.ssh directorul nu este niciodată creat pentru pi utilizator și nu există jurnale referitoare la ceva de-a face cu extragerea unei chei din GitHub/ssh_import_id în /var/logs/cloud-init.log sau /var/log/cloud-init-output.log.

Conținutul actual al meu datele utilizatoruluipe rădăcina cardului SD:

  - nume: pi
    grupuri: [sudo]
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_import_id: # import cheia publică din github
      - gh:my_cool_github_account
    lock_passwd: true # dezactivează autentificarea prin parolă

Totul funcționează bine dacă introdu cheia publică manual folosind ssh_authorized_keys, care se va potrivi fluxului meu de lucru, dar sper să instalez lucrul GitHub, deoarece este elegant.

Înțelegerea mea despre cloud-init este cu siguranță puțin de bază, așa că poate am omis ceva. Declanșez schimbări alergând cloud-init curat și apoi cloud-init init, care se simte ca și cum funcționează bine, deoarece reface utilizatorii/biții generali/cheile ssh rădăcină și amprenta digitală.

Probabil că folosesc și NoCloud sursă de date.

Ma poate ajuta cineva sa-mi dau seama ce gresesc?

Puncte:1
drapel th

Este doar un fragment din datele dvs. de utilizator? Dacă nu, aveți nevoie și de #cloud-config antet și utilizatori:. Ceva de genul acesta ar trebui să funcționeze:

#cloud-config
utilizatori:
  - nume: pi
    grupuri: [sudo]
    sudo: ALL=(ALL) NOPASSWD:ALL
    ssh_import_id:
      - gh:torvalds
    lock_passwd: adevărat

Tocmai am testat și am găsit cheia /home/pi/.ssh/authorized_keys. Sunteți sigur că utilizatorul github pe care încercați să îl importați are chei la care se află https://github.com/settings/keys?

/var/log/cloud-init.log contine:

2021-08-09 13:56:24,302 - helpers.py[DEBUG]: Rulează config-ssh-import-id folosind lock (<FileLock folosind fișierul „/var/lib/cloud/instances/me/sem/config_ssh_import_id”> )
2021-08-09 13:56:24,302 - cc_ssh_import_id.py[DEBUG]: Se importă ID-uri SSH pentru utilizatorul pi.
2021-08-09 13:56:24,302 - subp.py[DEBUG]: Rularea comenzii ['sudo', '-Hu', 'pi', 'ssh-import-id', 'gh:torvalds'] cu permise coduri de returnare [0] (shell=False, capture=False)
Puncte:0
drapel jo

Încercați să:

utilizatori:
  - nume: pi
    ssh_authorized_keys:
      - ssh-rsa <cheia ta aici>

Asta ar trebui să-ți bage cheia în .ssh/authorized_keys dosarul pi utilizator

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.