Kirjoittaja Aihe: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle [RATKAISTU]  (Luettu 16009 kertaa)

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #20 : 07.01.16 - klo:21.53 »
Tee tilaa rinnakkaiselle asennukselle ja asenna se niin, että /boot on erillisellä salaamattomalla osiolla ja muu järjestelmä on salattu.
Juuri tuo "tee tilaa" on se mitä en pysty tekemään. Pystyn tekemään tilaa LUKS-säiliön sisällä, mutta en pysty kutistamaan LUKS-säiliötä jotta saisin levylle uuden salaamattoman osion niin että koneella Ubuntu säilyy sellaisenaan käytössä. Mielestäni kerroin tämän ihan selvästi jo ekassa viestissäni.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #21 : 07.01.16 - klo:22.21 »
Vielä kerran: en yritä /boot-hakemiston salausta turvallisuuden takia, vaan siksi että se tekee rinnakkaisasennuksen helpommaksi.

Miksi salattu /boot tekee rinnakkaisasennuksen helpommaksi? /boot voi olla myös jaettu useammalle systeemille. Ei Grubin editointia kannata pelätä. Kyllä sinne voi lisätä omia valikoita. Kun käyttää linkkiä ei lataajaa tarvitse edes päivittää jos vaihtaa kernelin.

Toki kaksi systeemiä tuo tietynlaista varmuutta. Jos toinen menee rikki on toinen heti käytössä. Itsellänikin on useampi asennus koneella.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #22 : 07.01.16 - klo:23.18 »
Tee tilaa rinnakkaiselle asennukselle ja asenna se niin, että /boot on erillisellä salaamattomalla osiolla ja muu järjestelmä on salattu.
Juuri tuo "tee tilaa" on se mitä en pysty tekemään. Pystyn tekemään tilaa LUKS-säiliön sisällä, mutta en pysty kutistamaan LUKS-säiliötä jotta saisin levylle uuden salaamattoman osion niin että koneella Ubuntu säilyy sellaisenaan käytössä. Mielestäni kerroin tämän ihan selvästi jo ekassa viestissäni.

Silloin vaihtoehdoksi jää nykyisen boot-osion pienentäminen siten, että sen viereen mahtuu uuden asennuksen boot-osio. Uuden asennuksen voi sijoittaa nykyiseen LVM:ään. Reilut 100 megaa riittää kyllä yhden jakelun /boot-osiolle, kun muistaa siivota ylimääräiset kernelit pois.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #23 : 08.01.16 - klo:15.17 »
Silloin vaihtoehdoksi jää nykyisen boot-osion pienentäminen siten, että sen viereen mahtuu uuden asennuksen boot-osio. Uuden asennuksen voi sijoittaa nykyiseen LVM:ään. Reilut 100 megaa riittää kyllä yhden jakelun /boot-osiolle, kun muistaa siivota ylimääräiset kernelit pois.

No niinpä tietysti. Siinä mulla on ollut ajatussolmu. Kiitos nm.

/boot-osion pilkkominen ei tullut mieleen siksi että ihan hiljattain siellä oli neljä kerneliä kamppeineen, ja jouduin sitä putsaamaan että sain päivitykset asennettua. Mutta nyt kun otit sen esille, niin tottakai, jos kerran haluan pystyä rinnakkaisasennukseen, niin kyllä silloin pitää osata myös pitää kerneleiden määrä kurissa.

Sitäpaitsi pelkkä /boot/grub ei paljoa vaadi.

Koodia: [Valitse]
$ du -hs /boot/grub
6,8M    /boot/grub

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #24 : 10.01.16 - klo:20.10 »
Ei ehkä auta tähän ongelmaan mutta jos man-sivua ei ole niin silloin kannattaa kokeilla infoa joka löytyy myös os-proberille. Info on vielä laajempi kuin man-sivut ja lähes kaikille ohjelmille on infoa, ei ole ainakaan itselle tullut vastaan ohjelmaa ettei olisi.
Koodia: [Valitse]
info os-prober
Eipä löydy infollakaan lisätietoa os-proberille, joten jotain ilmeisesti pitäisi asentaa lisää. Sitäpaitsi luen sivuja mieluummin netistä, eikä infolle löydy vastaavaa lähdettä.

Mutta os-prober ei nyt ole se mitä olen hakemassa, vaan olen ihan ymmyrkäisenä siitä missä manuaalissa tai infossa mahdetaan kertoa kernel-komentorivin parametrit "cryptdevice" ja "cryptopts", joihin monessa ohjeessa viitataan.

ArchLinux -wikistä kyllä löyty vaikka mitä, mutta kun kyse voi olla asioista jotka riippuvat Linux-julkaisusta, haluaisin löytää oikean lähteen.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #25 : 10.01.16 - klo:21.38 »
Kernelin parametreista löytyy juttua tuolta https://www.kernel.org/doc/Documentation/kernel-parameters.txt

Myös Gentoon wiki hyvä tietolähde.

Kerneli on hieman eri kuin initrd ja sen parametrit

Aina voit ladata kernelin lähdekoodin ja kääntää sen. Silloin ainakin tietää mitä on käännetty mukaan ja mitä jätetty pois. Kernelin lähdekoodi lähestyy yhtä gigaa,
mutta nykykoneet kääntää sen alle 10 min kun jättää turhat pois. Ihan varma en
ole voiko initrd:n jättää pois kun käytössä on salattuja osioita. Muuten initrd on turha jos kaikki tarpeellinen löytyy kernelistä. Tuossa säästää taas /boot osion koossa.


AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #26 : 11.01.16 - klo:11.33 »
Kerneli on hieman eri kuin initrd ja sen parametrit

Aivan, siinä se ongelma onkin. Grub-ohjeissa puhutaan väljästi komentoriviparametreista, mutta tuo edellisen viestin "riippuvat Linux-julkaisusta" -linkki paljastaa myöskin sen että komentorivin parametrit jakautuvat monelle eri ohjelmalle, kernel ei ole ainoa joka niitä lukee. Mutta vaikka kuinka yritän kaivaa, en ole saanut edes selville minkä niminen ohjelma on se joka itselleen nappaa esim. tuon cryptdevice-parametrin. Kernelin parametri se ei ole, enkä löydä siitä mainitaa myöskään muualta.

Näistä olen osannut etsiä, mutta en löytänyt:
    kernel-command-line
    bootparam
    dracut.cmdline
    initramfs-tools
Mitä muuta vielä mun pitäisi osata etsiä että löytäisin?

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #27 : 11.01.16 - klo:21.12 »
Selailin Gentoon Luks ohjetta. Initrd:n voi tehdä useammalla työkalulla ja Grubin parametrit näköjään hieman vaihtelee miten Initrd on tehty. Gentoo käyttää vielä oletuksena OpenRC eikä Systemd kuten Ubuntu. Gentoo on siitä kiva, että jos sen saa asennettua niin hyvin hoidettuna se pelaa sitten vuosia. Koska useimmat Kernelin osat käännetään moduleiksi Initrd:tä tarvitaan liittämään levyt  ja lataamaan tarvittavat osat muistiin. Itselläni on htpc:ssä itse käännetty kerneli ja ei ollenkaan initrd:tä koska ext4, xfs, alsa, .. tarpeellinen on käännetty kerneliin sisälle. Tilan säästö on huomattava.

Ubuntussa kuitenkin toimiva asennusohjelma. Antaa sen tehdä asetukset.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #28 : 11.01.16 - klo:23.42 »
Tässä on ketjun ensimmäisen postauksen päivitetty versio:


Tavoite on asentaa koneella olevan salatun Ubuntu-asennuksen rinnalle toinen Ubuntu (tai joku muu Linux), sekin salattuna. Esteenä on Ubiquity, joka ei tue salattuja rinnakkais­asennuksia; yhden salatun asennuksen se tekee, mutta seuraavan asennuksen voi tehdä vain vanhan päälle, joten uusia julkaisuja voi kokeilla vain asennus­tikulta.

Internetin lähteistä opittua:
  • Salatun Ubuntun asennus toisen Ubuntun rinnalle, eri osiolle on mahdollinen, mutta LUKS-säiliön koon muuttaminen osiointia varten on liian vaikeaa.
  • Useamman Linux-julkaisun asennus samaan LUKS-säiliöön ei ole yhtään vaikeampaa kuin eri osiolle (ja ohje on paremmin laadittu).
    • Salaus vaikeuttaa rinnakkais­asennusta ihan riippumatta siitä asennetaanko uusi Linux samaan LUKS-säliöön vai eri osiolle.
  • Mint ja /boot salattuna UEFI-koneella jättää vain Grubin salaamatta.
  • Rinnakkais­asennuksen ohjeissa neuvotaan aina viemään grub salaamattomalle boot-osiolle, eikä paraskaan /boot-hakemiston salaus­ohje ota rinnakkais­asennusta huomioon. Tämän viimeisen solmun avasi nm.
    • Ensimmäinen asennuksen /boot-osiolla on tilaa neljälle ytimelle, joten siitä voi lohkaista osan uutta käynnistys­osiota varten.
    • Tilaa ei edes tarvita kokonaiselle /boot-osiolle, vaan pikkuruinen uusi /boot/grub riittää.
  • Rinnakkais­asennuksen harjoittelua ei tee mieli aloittaa osioinnilla, joka heti tuhoaa ensimmäisen asennuksen.
    • Kun toinen Linux ja sen /boot asennetaan samaan LUKS-säiliöön, ensiksi asennettu Ubuntu pysyy käytössä koko ajan, vaikka rinnakkais­asennuksen harjoittelu kestäisi pitkäänkin.
    • Rinnakkais­asennuksen yrityksen voi myös purkaa pois niin, että ensiksi asennettu Ubuntu pysyy käytössä koko ajan.
    • Tuhoava osiointi tarvitaan vasta kun todella halutaan erilliset salatut osiot (tai enemmän kuin kolme asennusta) – ja sen voi lykätä kunnes salattu rinnakkais­asennus on kunnolla harjoiteltu.
  • Windows ja Mint salattuna rinnakkain ja sama avaintiedoston kanssa kannatti lukaista ihan vertailun vuoksi.


Yhteenveto:
  • Rinnakkainen Linux ja sen /boot on helpointa asentaa samaan LUKS-säiliöön, jossa ensiksi asennettu Ubuntu jo on.
  • Vaikka Ubiquity ei sellaisenaan taivu salattuun rinnakkais­asennukseen, sen tuotosta voi viimeistellä – jos osaa.


Kone jolle asennusta suunnitellaan:
  • Kovalevyllä /dev/sda on Ubuntu 15.10 -asennuksen luomat osiot:
    • sda1 : ensisijainen osio (ext2; 236 M; /boot-osio)
    • sda2 : laajennettu osio
    • sda5 : looginen osio,
      • jossa on LUKS-säiliö,
      • jossa on fyysinen taltio,
      • joka kuuluu taltioryhmään "ubuntu-vg",
      • jossa on loogiset taltiot root (ext4) ja swap_1 (swap).
  • Koneessa on BIOS, ilman UEFI-valmiutta.


Ensiksi asennetun Ubuntun asetuksissa ei ole kaikkea mitä ohjeissa neuvotaan, ja ohjeet ovat muutenkin risti­riitaisia.
  • Tiedosto /etc/crypttab mainitaan kaikissa ohjeissa.
    • Tiedostossa viitataan fyysiseen taltioon (sekä ohjeissa että ensiksi asennetussa Ubuntussa), ja muut yksityis­kohdat ohjeissa eroavat vain vähän.
    • Kun rinnakkais­asennus tehdään samaan LUKS-säiliöön, ensimmäisen asennuksen /etc/crypttab kelpaa sellaisenaan toiseen asennukseen; vain avain­tiedoston lisäys muuttaa sitä.
  • Tiedosto /etc/initramfs-tools/conf.d/cryptroot mainitaan vain yhdessä ohjeessa (asennus eri osiolle), joka neuvoo fyysiseen taltioon viittaavan asetuksen.
    • Ensimmäisen asennuksen /etc:n alta tällaista tiedostoa ei löydy ollenkaan, mutta sen initrd.img kuitenkin sisältää tiedoston conf/conf.d/cryptroot, ja se viittaa loogisiin taltioihin.
    • Jos rinnakkais­asennus tehdään samaan LUKS-säiliöön, niillä on yhteinen fyysinen taltio, mutta erilliset loogiset taltiot (ainakin erillinen juuri­taltio; swap voi olla yhteinen, jos salaus estää lepo­tilan käytön). Ensiksi asennetun Ubuntun asetus vaikuttaa siis paremmalta kuin ohjeessa annettu.
    • Jos toista asennusta varten luodaan erillinen fyysinen taltio, risti­riitaa ei ole. Mutta fyysinen taltio on LUKS-säiliö, jonka kutistaminen on liian vaikeaa, joten tämä vaatisi kokonaan uuden osioinnin.
  • Tiedostoon /etc/default/grub lisättävät salaukseen liittyvät asetukset ovat joka ohjeessa täysin erilaiset.


Mitkä asetukset ovat vaihto­ehtoja, mitkä toistensa täydennyksiä?
  • Tiedostojen /etc/crypttab ja /etc/initramfs-tools/conf.d/cryptroot asetukset viedään alku­muistiin (initramfs).
  • Asetuksen GRUB_CMDLINE_LINUX perusteella alku­lataaja (grub) lisää määritykset komento­riville parametreiksi.
  • Vain fyysinen taltio on salattu; kun se on avattu, loogiset taltiot voi liittää ilman salaus­avainta.


Nettihaut avainsanoilla cryptroot, cryptdevice, cryptopts eivät paljsta minkäänalaista dokumentaatiota, joten asetusten käyttö voi muuttua julkaisusta toiseen.


Jos nyt mitään mistään ymmärrän, asetukset kannattaisi päättää sen mukaan, vaativatko uuden asennuksen crypttab ja cryptroot korjaamista – hyvässä lykyssä ei mitään.
  • Tarkista tekeekö uusi asennus tiedoston /etc/crypttab.
  • Tarkista tiedosto conf/conf.d/cryptroot uuden asennuksen initrd.img:n sisällä.

Katso ihan ensin millä komennolla ensiksi asennettu Ubuntu käynnistetään.
Koodia: [Valitse]
$ cat /proc/cmdline
BOOT_IMAGE=/vmliz-4.2.0-23-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash



Valittavat vaihtoehdot:
  • Jos /etc/crypttab puuttuu, kopioi ensimmäisen asennuksen /etc/crypttab sellaisenaan toisen asennuksen juuritaltiolle.
  • Jos cryptroot sisältää kummankin asennuksen loogiset taltiot, kirjoita karsittu /etc/initramfs-tools/conf.d/cryptroot jossa on vain toisen asennuksen tarvitsemat taltiot.
  • Jos cryptroot puuttuu kokonaan, kopioi ensimmäisen asennuksen cryptroot tiedostoksi /etc/initramfs-tools/conf.d/cryptroot, ja korjaa loogisten taltioiden nimet sen sisällä.
    • Toinen vaihtoehto on lisätä taltioiden määritys grub-asetuksiin.

Esimerkiksi grub-asetuksista:
Koodia: [Valitse]
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt root=/dev/mapper/ubuntu--vg-root2 ro resume=/dev/mapper/ubuntu--vg-swap2"


Asennuksen päävaiheet kun asennetaan toinen Ubuntu samaan LUKS-säiliöön:
  • Valmistaudu rinnakkais­asennukseen ensiksi asennetun Ubuntun sisällä.
    • Varmista että käynnistys­osiolla on riittävästi tilaa; tarvittaessa poista vanhoja ytimiä.
    • Lisää ketju­lataus alku­lataajan (grub) asetuksiin kaiken varalta.
    • Varmuus­kopioi ainakin koti­hakemistot ja /etc.
    • Kopioi keskeiset asetukset (crypttab, yms.) erikseen helposti saataville.
  • Käynnistä kone asennus­tikulta, valitse "Kokeile Ubuntua" ja suorita kaikki asennus­vaiheet sen sisällä.
    • Muokkaa osiointia.
      • Kutista ensimmäisen asennuksen /boot-osiota (/dev/sda1).
      • Lisää toisen asennuksen /boot/grub-osio (/dev/sda3) vapautuneeseen tilaan.
    • Muokkaa loogisia taltioita salatulla osiolla.
      • Kutista ensimmäisen asennuksen juuri­taltiota.
      • Lisää toinen juuri­taltio.
      • Lisää jaetulle datalle oma taltio.
      • Säilytä swap-taltio (yhteinen riittää, jos salaus estää lepo­tilan käytön).
      • Tässä välissä kannattaa käynnistää kone ilman asennus­tikkua ja tarkistaa että ensiksi asennettu Ubuntu käynnistyy ja toimii edelleen, ja sitten käynnistää kone uudelleen asennus­tikulta kokeilu-Ubuntuun.
    • Käynnistä Ubiquity.
      • Valitse asennus­tyyppi "Jokin muu vaihtoehto".
        • Poimi asennukselle varatut loogiset taltiot.
        • Vie grub uudelle käynnistys­osiolle (/dev/sda3).
      • Valitse "Jatka testaamista" asennuksen lopussa.
    • Viimeistele asennus uudella  juuri­taltiolla.
      • Tarkista fyysisen taltion määritys salattujen osioiden liitos­taulussa. Kopioi ensimmäisen asennuksen crypttab, jos uuden asennuksen liitos­taulu ei ole valmiiksi oikein.
      • Lisää LUKS-säiliölle avain­tiedosto. Tämän voi tehdä myöhemminkin; avain­tiedoston puuttuessa joudut vain syöttämään LUKS-säilön sala­sanan kahteen kertaan.
      • Tarkista loogisten taltioiden määritykset ja vertaa ensiksi asennetun Ubuntun asetuksiin. Jos cryptroot ei ole valmiiksi oikein, kirjaa loogisten taltioiden määritykset joko alku­muistin tai alku­lataajan asetuksiin.
      • Muokkaa alku­lataajan asetuksia, jos haluat ketjutuksen.
      • Päivitä asetus­muutokset chroot:lla alku­muistiin (initramfs) ja alku­lataajaan (grub), jos niiden asetuksia muutettiin.
  • Käynnistä kone uudelleen ilman asennus­tikkua.


Jatkossa
  • Salatun Linuxin päälle­asennus vaatii aina saman viimeistelyn niin kauan kun rinnakkaisuus säilytetään.
  • Salaukseen liittyvien asetusten tekotapa saattaa muuttua missä tahansa julkaisussa.


Tämä on siis suunnitelma. Alan olla valmis kokeilemaan asennusta käytännössä.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #29 : 13.01.16 - klo:22.36 »
Kumpikin etukäteispelko on toteutunut.

1) Grub on vaikea.

Jos haluan lisätä käynnistysparametreja komentoriville GRUB_CMDLINE_LINUX-säädöllä, asennuksilla pitää olla erilliset ketjuladatut grubit.

Kun lisäsin os-proberin eston ekan Ubuntun grubiin ketjutusta varten, kesti aikansa ennen kuin tajusin että update-grub lisää silti toisenkin asennuksen samaan valikkoon, ilmeisesti siksi että se nyt vaan sattuu olemaan samalla levyllä. Kun kokeilin käynnistää uuden Ubuntun sitä kautta, totesin että ekan Ubuntun grubiin täytyy lisätä  GRUB_ENABLE_CRYPTODISK, jolloin salasana kysytään jo ennen grub-valikkoa. Kun grubista sitten valitsee uuden Ubuntun suoraan, ilman ketjutusta, se kysyy Plymouth-ikkunassa salasanaa, kuten pitääkin (kun salasanatiedostoa ei ole vielä asetettu), mutta siitä en ole vielä päässyt eteenpäin.

Joka tapauksessa toinen Ubuntu vaatii jonkun tavan määritellä minkä juuritaltion se ottaa käyttöön; kahden asennuksen taltiot eivät saa mennä sekaisin keskenään. Jos sen saisi tehtyä ilman GRUB_CMDLINE_LINUX-säätöä, pikkuistakaan /boot/grub-osiota ei tarvittaisi ollenkaan, mutta toistaiseksi olen jumissa.

Jos taas GRUB_CMDLINE_LINUX-säätö on ainoa keino valikoida oikeat loogiset taltiot LUKS-säiliön sisältä, ketjulataus vaatii toisen grubin asennuksen jonnekin, mutta grubin asennus osiolle joka ei ole levyn alussa tuntuu olevan ihan oma taiteenlajinsa. En ole vielä saanut sitä toimimaan.


2) Salaukseen liittyviä asetuksia ei ole dokumentoitu.

Kun yritän tehdä salauksen asetuksia ilman grub-säätöä, käy ilmi että blogeista poimitut ohjeet eivät toimi, enkä pääse mistään dokumentaatiosta tarkistamaan miten ne pitää tehdä juuri Ubuntulle.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #30 : 21.01.16 - klo:22.15 »
Olen sitten jatkanut opiskelua, ja olen nyt päässyt niin pitkälle että sain samaan LUKS-säiliöön asennetun Ubuntun käyntiin. Vielä on jäljellä se ongelma, miten saan sen kysymään LUKS-salasanaa vain kerran. Netin ohjeet kun ei tunnu toimivan Ubuntun kanssa.

Ratkaisu ei lopulta vaatinut grubin ketjulatausta. Mainitsin jo aikaisemmin että vaikka laittaisin ekan Ubuntun grub-asetuksiin GRUB_DISABLE_OS_PROBER -asetuksen, niin silti update-grub lisäsi toisenkin asennuksen samaan valikkoon. Niinpä jätin uuden /boot-osion kokonaan luomatta. En siis jakanut vanhaa /boot-osiota kahtia, enkä edes lohkaissut pientä tilaa /boot/grub-hakemistolle. Asensin vaan toisen Ubuntun niin että /boot ei ole erillään, vaan /-juuren alla LUKS-säiliössä.

Syy miksi aikaisemmin en saanut muuten ihan oikein asennettua Ubuntua käyntiin oli se, että olin erehtynyt asennuksen edellä avaamaan LUKS-säiliön väärin - klikkasin kuvaketta käynnistinpalkissa sen sijaan että olisin avannut sen komentoriviltä, jolloin se tulee avatuksi oikealla nimellä. Tämän virheen takia update-initramfs ei saanut tehdyksi työtä käskettyä.

Molemmat asennukset siis käynnistyvät nyt ensiksi asennetun Ubuntun grub-valikosta, siis yhdestä yhteisestä. Aika rumaa jälkeä update-grub tekee kun se lisää sen toisen Ubuntun mukaan. Täytyy jostain vielä kaivaa lisätietoa miten sitä siistitään. Jouduin lisäämään asetuksiin tämän:
Koodia: [Valitse]
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt"
mutta en mitään mikä olisi näille kahdelle asennukselle eri tavalla, eikä ketjutusta siis tarvittu.

Nyt kun nuo asetukset on lisätty, LUKS-säiliötä avataan kahteen kertaan - ensin grub-asetusten takia, ja sitten grubin käynnistämä Ubuntu kysyy sitä vielä uudelleen. Paitsi että ensiksi asennetun Ubuntun tapauksessa eka kysymys ei edes tule, vaan tulee virhe joka pitää kuitata jollain näppäimellä, ja sitten tulee normaali salasanakysymys samannköisenä kuin ennen. Mutta toiseksi asennettu Ubuntu kysyy salasanan rumasti kahteen kertaan, eikä kumpikaan kerta näytä samalta kuin se johon olen tottunut.

Ja vaikka kuinka yritän lisätä avaintiedostoa jolla toinen kysymys vältettäisiin, netin hienot neuvot eivät toimi. Jokainen Linux toimii tässä asiassa eri tavalla. Olisi kiva tietää miten se homma on tehty tän ensiksi asennetun Ubuntun kanssa. Se kun toimii niin tyylikkäästi ilman noita grub-asetuksia. Ainakin huomasin (komennolla cryptsetup luksDump) että LUKS-säiliölle on jo valmiiksi asetettu kolme salasanaa, ja mun lisäämä avaintiedosto on neljäs (eli slot 3).

Kirjoittelen selkeämmän sepustuksen jahka jaksan.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Toisen salatun Linuxin asennus salatun Ubuntun rinnalle
« Vastaus #31 : 23.01.16 - klo:20.42 »
Kertaus:

Ennalta päätetty vaatimus on salata sekä tiedot että asennukset jokaisella kannettavalla tieto­koneella. Tavoite on asentaa koneella olevan salatun Ubuntun rinnalle toinen salattu Ubuntu tai muu Linux. Esteenä on asennus­ohjelma (Ubiquity), joka ei tue salattuja rinnakkais­asennuksia; yhden salatun asennuksen se tekee, mutta seuraavan asennuksen voi tehdä vain vanhan päälle, joten uusia julkaisuja voi kokeilla vain asennus­tikulta.

Ratkaisu on helpompi kuin miltä aluksi näytti.


Kone jolle asennusta suunnitellaan:

Kovalevyllä /dev/sda on Ubuntu 15.10 -asennuksen luomat osiot:
  sda1 : ensisijainen osio (ext2; 236 M; /boot-osio)
  sda2 : laajennettu osio
  sda5 : looginen osio, jossa on LUKS-säiliö, jossa on fyysinen taltio, joka kuuluu taltioryhmään "ubuntu-vg",
    jossa on loogiset taltiot root (ext4) ja swap_1 (swap).
Koneessa on BIOS, ilman UEFI-valmiutta.


Asennuksen päävaiheet kun asennetaan toinen Ubuntu (tai muu Linux) samaan LUKS-säiliöön:
  • Ota riittävän kattavat varmuus­kopiot ensiksi asennetun Ubuntun puolella.
      Kopioi keskeiset asetukset (/etc/crypttab, yms.) erikseen helposti saataville.
  • Asenna toinen Ubuntu tai muu Linux samalle salatulle osiolle.
    • Käynnistä kone asennus­tikulta ja valitse "Kokeile Ubuntua" (tai muun Linuxin vastaava).
    • Muokkaa salatun osion jakoa loogisiin taltioihin.
      • Avaa LUKS-säiliö (cryptsetup luksOpen) ja LVM-muokkaus (vgscan && vgchange -ay).
      • Kutista ensimmäisen asennuksen juuri­taltiota (lvreduce --resizefs).
      • Lisää toinen juuri­taltio (yhteinen swap riittää, jos salaus estää lepo­tilan käytön).
      • Lisää jaetulle datalle oma taltio; varaa sille kaikki jäljellä oleva tila (lvcreate -l 100%FREE).
      • Sulje LVM-muokkaus (vgchange -an).
    • Tarkista että ensiksi asennettu Ubuntu käynnistyy ja toimii edelleen.
          Käynnistä kone ilman asennus­tikkua ja kirjaudu sisään.
    • Palaa takaisin.
      • Käynnistä kone asennus­tikulta.
      • Avaa LUKS-säiliö komento­riviltä (cryptsetup luksOpen /dev/sda5 sda5_crypt).
              Jos avaat LUKS-säiliön täppäämällä käynnistin­palkin kuvaketta, se avataan väärällä nimellä.
    • Käynnistä Ubiquity (tai vastaava).
      • Valitse asennus­tyyppi "Jokin muu vaihtoehto".
        • Poista käytöstä ensiksi asennetun Ubuntun käytössä olevat taltiot ja käynnistys­osio.
        • Poimi käyttöön asennukselle varatut loogiset taltiot.
        • Osoita grub kohteeseen jossa sen asennus varmasti epä­onnistuu (eli mikä tahansa muu kuin /dev/sda).
      • Valitse "Jatka testaamista" asennuksen lopussa.
        • Kun grub-asennus epä­onnistuu, jatka ilman alku­lataus­ohjelmaa.
        • Jos ponnahdus­ikkuna jää jumiin, pienennä Ubiquity taustalle.
    • Viimeistele asennus uudella juuri­taltiolla.
      • Kopioi /etc/crypttab ensimmäisen asennuksen juuri­taltiolta toisen asennuksen juuri­taltiolle; liitä taltiot siksi aikaa.
      • Päivitä initramfs chroot:lla.
    • Käynnistä kone ilman asennus­tikkua.
  • Varmista toisen Linuxin käynnistyminen.
    • Kirjaudu ensiksi asennettuun Ubuntuun.
    • Lisää tiedostoon /etc/default/grub asetukset GRUB_ENABLE_CRYPTODISK=y ja GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt".
        Asetuksen GRUB_ENABLE_CRYPTODISK arvon pitää olla nimenomaan "y". Jos arvo on väärä, saat virheilmoituksen jonka mukaan sen pitäisi olla "1".
    • Päivitä grub ja käynnistä kone uudelleen.
          Päivitys lisää uuden asennuksen samaan valikkoon, vaikka GRUB_DISABLE_OS_PROBER olisikin asetettu.
    • Kirjaudu juuri asennettuun Linuxiin.
          Joudut syöttämään LUKS-sala­sanan kahteen kertaan.
    • Lisää avain­tiedosto (ensiksi asennettu Ubuntu ei tarvitse sitä).
      • Luo avain­tiedosto (dd if=/dev/urandom) ja
      • aseta sen suojaus (chmod u=r,go=),
      • lisää uusi avain LUKS-säiliön asetuksiin (cryptsetup luksAddKey),
      • kirjoita komento­tiedosto avain­tiedoston lataamiseen ja
      • aseta sen suojaus (chmod +r),
      • muokkaa /etc/crypttab viittaamaan avain­tiedostoon,
      • päivitä initramfs,
    • ja käynnistä kone uudelleen.
  • Ota uusi data-taltio käyttöön kummassakin asennuksessa.

Yhteen­veto kaikkein typerimmistä kompastus­kivistä:
  • LUKS-säiliö on avattava komento­riviltä juuri oikealla tavalla. Jos sen avaa käynnistin­palkin kuvaketta täppäämällä, homma ei toimi oikein.
  • Tunnettu vika "Wily Werewolf" -julkaisussa aiheutti yli­määräisiä varoituksia joiden ihmettelyyn meni aikaa.
  • Asetuksen GRUB_ENABLE_CRYPTODISK arvon pitää olla nimenomaan "y". Jos arvo on väärä, saat virhe­ilmoituksen jonka mukaan sen pitäisi olla "1".
  • Lähteessä neuvottiin tiedoston /crypto_keyfile.bin suojauksen asetus väärin.

Lisäksi lähteissä oli paljon täysin tarpeetonta roskaa. Kaikkein arvokkain lähde oli http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive. Kaiken­ kaikkiaan vaaditut työ­vaiheet ovat vieläkin helpommat kuin miltä aluksi näytti.

Nyt on enää jäljellä grub-valikon siistiminen, mutta se ei kuulu tämän otsikon alle.
« Viimeksi muokattu: 23.01.16 - klo:20.49 kirjoittanut AimoE »