Valvomattomat asennukset¶
OmarOS-ISO voi asentaa itsensä ilman ketään näppäimistöllä. Jos asennusohjelma löytää toisen aseman nimeltä cidata, joka sisältää sen määritystiedostot, se kopioi ne pois, ohittaa asennusvelhon kokonaan ja käynnistää itsensä valmiiseen järjestelmään. Ei erityistä ISO-koontia, ei ylimääräistä käynnistysvalikon kohtaa — ilman ko. asemaa mikään ei muutu ja saat normaalin velhon.
Tämä tekee OmarOSsta loistavan peruslevykuvan kertakäyttöisille kehitysympäristöille: luo virtuaalikone Proxmoxissa tai Packerilla, käynnistä se, kävele pois, SSH sisään. cidata on cloud-initin NoCloud-tunniste, joten kaikki yleiset virtualisointityökalut osaavat jo liittää sellaisen aseman.
Määritystiedostot¶
Tiedostot ovat täsmälleen sitä, mitä asennusohjelman oma velho kirjoittaa, joten helpoin tapa saada lähtösarja on ajaa yksi interaktiivinen asennus (esimerkiksi virtuaalikoneessa) ja kopioida se, mitä se kirjoitti kansioon /root:
| Tiedosto | Pakollinen | Tarkoitus |
|---|---|---|
user_configuration.json |
Kyllä | Levy, isäntänimi, aikavyöhyke, näppäimistö |
user_credentials.json |
Kyllä | Käyttäjänimi ja salasanan tiiviste |
user_full_name.txt |
Ei | Gitin koko nimi |
user_email_address.txt |
Ei | Gitin sähköposti |
user_encrypt_installation.txt |
Ei | true, kun määrityksessä on disk_encryption-lohko |
authorized_keys |
Ei | SSH-julkiset avaimet, yksi per rivi |
tailscale_authkey |
Ei | Tailscalen valtuutusavain tailnetiin liittymistä varten ensikäynnistyksellä |
Luo salasana tiiviste tiedostolle user_credentials.json komennolla openssl passwd -6 "yourpassword".
Voit myös pudottaa tyhjän tiedoston nimeltä defer-provisioning tiedoston user_credentials.json sijaan. Se ajaa saman valmistele toiselle omistajalle -asennuksen, jonka voit käynnistää interaktiivisesti: kone asentuu ilman henkilökohtaisia tietoja, ja kuka sen ensimmäisenä käynnistää saa valita näppäimistönsä ja luoda käyttäjänsä. Se on tila levykuvaus laitteistoille, joissa asemalla ei pitäisi olla kenenkään tunnistetietoja.
SSH-käyttöoikeus¶
Kun authorized_keys on läsnä, asennus asettaa avaimet käyttäjän tiedostoksi ~/.ssh/authorized_keys, ottaa sshd:n käyttöön ja avaa sille palomuurin. (Vakio-OmarOS-asennus toimittaa openssh:n palvelu poistettuna käytöstä ja portti suljettuna, joten valvomaton kone olisi muuten tavoittamattomissa.) Asennus lisää vain avaimesi — se ei löysennä mitään SSH-daemonin muista todennusasetuksista.
Kun tailscale_authkey on läsnä, kone liittyy sen sijaan tailnetiisi ensimmäisellä käynnistyksellä: Tailscale asennetaan ISO:n mukana toimitetuista paketeista, palomuuri sallii tailnet-liitännän, ja taustatehtävä ajaa liittymisen heti, kun koneella tosiasiallisesti on verkkoyhteys, yrittäen uudelleen, kunnes se onnistuu. Käytä uudelleenkäytettävää, ennakkovaltuutettua avainta, jotta yksi asemakuva voi palvella monia koneita.
cidata-aseman rakentaminen¶
Mikä tahansa tiedostojärjestelmä oikealla tunnisteella toimii. Pieni ISO on helppo tapa:
mkdir cidata
cp user_configuration.json user_credentials.json authorized_keys cidata/
genisoimage -output cidata.iso -volid cidata -joliet -rock cidata/
Liitä se sitten virtuaalikoneeseen OmarOS-ISO:n rinnalle. Tässä on koko Proxmox-esimerkki:
qm create 101 --name my-omaros \
--bios ovmf --machine q35 --cpu host --cores 4 --memory 8192 \
--ostype l26 --scsihw virtio-scsi-single \
--efidisk0 local-lvm:0,efitype=4m,pre-enrolled-keys=0 \
--scsi0 local-lvm:40,discard=on,iothread=1 \
--net0 virtio,bridge=vmbr0 --vga virtio --serial0 socket \
--ide2 local:iso/omaros.iso,media=cdrom \
--ide3 local:iso/cidata.iso,media=cdrom \
--boot order='scsi0;ide2'
qm start 101
Käynnistysjärjestys luettelee levyn ensimmäisenä tarkoituksella: tyhjä levy putoaa läpi ISO:on ensimmäisellä käynnistyksellä, ja asennettu järjestelmä käynnistyy levyltä sen jälkeen.
Kaksi varausta¶
Salatut valvomattomat asennukset eivät ole täysin valvomattomia — jonkun täytyy silti kirjoittaa LUKS-salasanalause ensimmäisellä käynnistyksellä. Ja disk_encryption-lohko tiedostossa user_configuration.json sisältää kyseisen salasanalauseen selkokielisenä, joten käsittele salatusta asennuksesta rakennettua cidata-asemaa salaisuutena, joka se on.