it-swarm.dev

Připojit šifrované svazky z příkazového řádku?

Pokud mám šifrovaný externí disk (nebo interní disk, který není v fstabu), vidím pro něj záznam v Nautilus - se záznamem jako „X GB Encrypted Volume“. Mohu kliknout na tento svazek a jsem vyzván k zadání hesla pro dešifrování a připojení zařízení.

Ale jak to mohu udělat z příkazového řádku?

Tato stránka wiki a další dokumenty, které mohu najít, odkazují pouze na GUI metody dešifrování zařízení; ale nedělá se to v kontextu bezhlavých serverů nebo přihlášení SSH. Existuje jednoduchý způsob, jak přimět zařízení k připojení k automatickým umístěním v /media jako by s GUI?

(Neptám se na zašifrované domácí adresáře - vím o ecryptfs-mount-private. Tato otázka se týká dalších šifrovaných svazků.)

98
cha

Kroky v odpovědi @Georga Schöllyho v té době pro mě nefungovaly, ačkoli by teď mohly fungovat, několik vydání Ubuntu poté. Tehdy jsem po kroku Sudo mount /dev/mapper/my_encrypted_volume /media/my_device Dostal chybu:

mount: neznámý souborový systém typu 'LVM2_member'

Odemknutí a připojení disku pomocí udiskctl

Místo toho jsem použil udisksctl, rozhraní příkazového řádku, které interaguje se službou udisksd.

Tady je to, co fungovalo (/dev/sdb5 Je oddíl na mém pevném disku označený jako crypt-luks):

udisksctl unlock -b /dev/sdb5
udisksctl mount -b /dev/mapper/ubuntu--vg-root

Po zadání prvního příkazu budete vyzváni k zadání hesla pro šifrování. Jakmile je šifrovaný oddíl odemknut, připojí jej druhý příkaz. Pokud je to úspěšné, dostanete zprávu podobná k tomuto:

Mounted /dev/dm-1 at /media/dpm/e8cf82c0-f0a3-41b3-ab28-1f9d23fcfa72

Odtud jsem mohl přistupovat k údajům :)

Uzamčení disku pomocí udiskctl

Odpojte zařízení:

udisksctl unmount -b /dev/mapper/ubuntu--vg-root

Nejprve budete muset deaktivovat všechny logické svazky ve skupině svazků ubuntu-vg. V opačném případě se zobrazí chyba v řádku „Zařízení je zaneprázdněno“, pokud se pokusíte uzamknout ( více informací ):

Sudo lvchange -an ubuntu-vg

Pak budete moci uzamknout šifrovaný oddíl

udisksctl lock -b /dev/sdb5

Poznámky

  • Příkazy udisksctl jsou prováděny bezSudo.
  • Názvy mapovačů zařízení : Názvy ubuntu--vg-root Se mohou u vydání Ubuntu měnit (např. Viděl jsem to s názvem system-root A ubuntu-root). Snadný způsob, jak zjistit jméno, je spustit následující příkaz po odemknutí oddílu LUKS:

    ls -la /dev/mapper

    Poté, co se podíváme na výstup příkazu ls, bude jméno, které budete potřebovat, obvykle ten, který bude odkazován na /dev/dm-1

  • Názvy mapovačů zařízení, alternativní : alternativou k předchozímu příkazu je spuštění:

    lsblk -e7

    Zde uvidíte mapování názvu zařízení jako stromové zobrazení. Volba -e 7 Se používá k vyloučení smyčkových zařízení (ID 7) vytvořených nainstalovanými západkami z výstupu. Jednoduše mít méně nepořádku.

  • Názvy logických svazků : můžete spustit příkaz Sudo lvs A zjistit názvy skupin svazků a logických svazků
  • Aplikace Disks : Aplikace Disků GNOME automaticky neaktivuje logické svazky před uzamknutím oddílu. I když jste úspěšně odemkli oddíl pomocí GUI, budete muset přejít na příkazový řádek a provést příkaz Sudo lvchange -an ubuntu-vg, Než jej budete moci uzamknout z GUI.
78
David Planella

Váš svazek je pravděpodobně šifrován pomocí LUKS, připojte jej takto:

Potřebuješ:

Sudo apt-get install cryptsetup

Dešifrování svazku:

Sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

Nyní ji můžete připojit jako obvykle:

Sudo mkdir /media/my_device
Sudo mount /dev/mapper/my_encrypted_volume /media/my_device

Chcete-li kontejner znovu uzamknout, musí být nejprve odpojen:

Sudo umount /media/my_device
Sudo cryptsetup luksClose my_encrypted_volume

Chcete-li jej automaticky vložit do /media umístění, použijte nástroj udisks

Sudo udisks --mount /dev/mapper/my_encrypted_volume
94
Georg Schölly

Pokud se zobrazí tato chyba:

mount: unknown filesystem type 'LVM2_member'

běh:

Sudo apt-get install lvm2
Sudo lvscan

pak aktivujte všechny LVM, které vidíte

Sudo vgchange -ay

pak znovu spusťte připojení:

Sudo mount /dev/mapper/my_encrypted_volume /media/my_device
24
taitelman

Jeden problém, na který jsem narazil, byl duplicitní skupiny svazků: Můj obnovovací systém i jednotka, která měla být obnovena, byly ubuntu systémy s LVM. To je důvod, proč jsem měl dva ubuntu-vg skupiny svazků (vgdisplay by zobrazovaly obojí, každá s vlastním UUID, ale nemohl jsem se dostat k jejich logickým svazkům).

Moje řešení vychází z odpovědi Georga:

  • Bootujte z live-linuxu (abyste se nestali v názvu duplicitní skupiny svazků)
  • Sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
  • po zobrazení výzvy zadejte heslo
  • Sudo vgscan by nyní měl vyzvednout obsažené svazky/skupiny.

  • DRAGONS AHEAD: Teď ZMĚNUJEME NÁZEV OBJEMU OBJEMU. NEBUDETE POTŘEBOVAT POUžITÍ POHONU PO JEDNOTCE!

    použijte Sudo vgrename ubuntu-vg ubuntu-vg2 pro přejmenování skupiny svazků.

    Pokud potřebujete spustit z této jednotky, můžete tyto kroky provést znovu, ale přejmenujte svou skupinu svazků zpět na ubuntu-vg. Jiná možnost je změnit spouštěcí konfiguraci na nový název vg.

Nyní, když je duplikát vg-name vyřešen, mohu se vrátit do svého běžného systému, opakovat cryptsetup..., vgscan a připojte /dev/mapper/ubuntu--vg2-root kdekoli se vám líbí.

12
amenthes

sdb1 zde je příklad, který byste měli zadat název zařízení, žádný z těchto příkazů nebude vyžadovat oprávnění root

odemknout šifrovaný disk

udisksctl unlock -b /dev/sdb1

po vložení správné přístupové fráze vydá něco podobného: nlocked/dev/sdb1 as/dev/dm-

pak jej připojte k/media /

udisksctl mount -b /dev/dm-3

měl by vydat něco podobného: Připojeno/dev/dm-3 v/media/yourUserName/sdb

odpojit to

udisksctl unmount -b /dev/dm-3

znovu to zamknout

udisksctl lock -b /dev/sdb1
6
D.Snap

Všechny výše uvedené odpovědi vycházely z předpokladu, že uživatel již ví, který oddíl je šifrovaný. Pocházím od někoho, komu se tak moc nelíbí příkazový řádek, čekal jsem nějakou uživatelsky přívětivou odpověď ... Takže moje 2 centy zde.

  1. Otevřete aplikaci „disky“ Ubuntu.
  2. Najděte svůj připojený pevný disk na levém panelu.
  3. Klikněte na oddíl s názvem „LUKS“: tímto způsobem můžete vidět jeho připojovací bod v níže uvedeném textu „Device“ (v mém případě: /dev/sdb4).

Pak jsem se pokusil připojit to, jak bylo uvedeno výše:

$ Sudo cryptsetup luksOpen /dev/sdb4 someNameForMyVolume
Enter passphrase for /dev/sdb4: 

Ale dostal jsem tuto chybu:

Cannot use device /dev/sdb4 which is in use (already mapped or mounted).

Dobře, takže myslím, že se nautilus již pokusil připojit (protože mě to vlastně vyzvalo k zadání hesla, když jsem připojil USB, i když to nakonec neukazovalo dešifrovaný strom). Chybová zpráva však není opravdu užitečná, protože mi neřekne, kde je již namapována/připojena. Tento příkaz však v tomto případě pomůže:

$ udisksctl unlock -b /dev/sdb4
Passphrase: 
Error unlocking /dev/sdb4: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Device /dev/sdb4 is already unlocked as /dev/dm-3

Aha! Takže to je /dev/dm-3.

Při pokusu o připojení však nefunguje:

$ udisksctl mount -b /dev/dm-3
Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.

Po dlouhém drátění jsem zjistil, že jsem běžel do duplicate volume groups problem (popsán výše @amenthes), protože příkazy Sudo vgscan -v a Sudo vgdisplay zobrazovaly dva záznamy se stejným názvem skupiny svazků. Našel jsem však lepší způsob, jak se s tím vypořádat, než jeho metoda (není třeba zavádět do LiveCD k přejmenování svazků!), V tomto link , který cituji výše (jen v případě, že odkaz se rozbije ...):

Pokud spustíte ls -la /dev/mapper/ měli byste vidět luks-xxxxxx-xxxxx-xxxx nebo nějaký takový soubor. To je mapování, které bylo vytvořeno, když Ubuntu vyzval k šifrovacímu heslu v dialogu, ale nepodařilo se jej otevřít (vše v dialogu bylo zavolat luksOpen a mapovat jej do tohoto souboru/dev/mapper/luks-xxx) . Nyní:

  1. Ujistěte se, že váš fyzický svazek je k dispozici spuštěním Sudo pvdisplay příkaz. Mělo by to být/dev/mapper/luks-xxx-cokoli.
  2. Získejte uuid svazku spuštěním Sudo pvs -o +vg_uuid. Uuid bude hodnota zobrazovaná až napravo, obsahující 7 hodnot oddělených pomlčkami. Zkopírujte je někde, jak je budeme používat v dalším kroku. NEPOUŽÍVEJTE UUIDY A KOPÍROVEJTE Špatně. Zkopírujte pouze jedno pro vaše aktuální/dev/mapper/luks-xxx-jakékoli zařízení.
  3. Změňte skupinu svazků starého disku spuštěním následujícího příkazu Sudo vgrename UUIDOFYOURDISKHERE oldhd Můžete změnit „oldhd“ na cokoli, pokud se liší od názvu skupiny disků na vašem aktuálním disku. Provedením tohoto kroku odstraníte konflikt s názvy skupin svazků, což vám nyní umožní zpřístupnit svazky.
  4. Spusťte příkaz vgchange -a y pro aktivaci svazků.
  5. Vytvořte složku pro připojovací bod někde, např .: Sudo mkdir /media/<yourUserName>/someDir
  6. Připojit: Sudo mount /dev/oldhd/root /mnt/oldhd.
  7. Po práci se soubory byste měli skupinu svazků přejmenovat zpět na ubuntu-vg pokud chcete, aby byl svazek stále zaváděcí.
4
knocte

Pro ty z nás, kteří nechtějí použít nástroj GUI ani k určení, který oddíl je šifrován.

  • najděte všechny šifrované oddíly

    lsblk -lf | grep LUKS
    

    -l Požaduje formát „seznam“ - strom nepotřebujeme
    -f Nám také ukazuje název systému souborů
    dostaneme něco jako

    sdc2 crypto_LUKS b09d6209-......

  • odemkněte oddíl, který chceme (v mém případě /dev/sdc2)

    udisksctl unlock -b /dev/sdc2
    

    -b Znamená, že dáváme cestu k blokovému zařízení
    po zadání přístupové fráze dostaneme kladnou odpověď s nezbytnými informacemi pro další krok:

    Unlocked /dev/sdc2 as /dev/dm-6

  • připojit nově vytvořené zařízení (dm kandidovat na správce zařízení )

    udisksctl mount -b /dev/dm-6
    

    Znovu dostaneme kladnou odpověď s užitečnými informacemi:

    Mounted /dev/dm-6 at /media/g/Data.

    (g je moje uživatelské jméno v tomto systému, Data je označení, které jsem použil pro tento oddíl)

    Může se jednat o to, že správce systému/správce souborů již zařízení připojil automaticky, nebo jste to udělali sami dříve. Pak dostanete něco jako

    Error mounting /dev/dm-6: GDBus.Error:org.freedesktop.UDisks2.Error.AlreadyMounted: Device /dev/dm-6 is already mounted at '/media/g/Data'.

    To není žádný problém, přesto můžete přistupovat k datům ze šifrovaného oddílu.

  • přístup k datům: ls /media/g/Data
  • odpojte zařízení znovu (použijte stejný název, jaký jste použili pro připojení, příkaz je unmount, notumount :-))

    udisksctl unmount -b /dev/dm-6
    

    Pokud zařízení není zaneprázdněno, získáte

    Unmounted /dev/dm-6.

  • Nyní oddíl znovu uzamkněte (musíte si zapamatovat název oddílu)

    udisksctl lock -b /dev/sdc2
    

    Dostanes

    Locked /dev/sdc2.

  • volitelně vypněte celý externí disk

    udisksctl power-off -b /dev/sdc
    

    S grafickou pracovní plochou se zde může zobrazit chyba:

    Error powering off drive: The drive in use: Device /dev/sdc3 is mounted (udisks-error-quark, 14)

    V takovém případě můžete pomocí udisksctl odpojit oddíly jeden po druhém, dokud se vám to nepodaří. udisksctl power-off Nevrací žádné zprávy.

2
guntbert

Z předchozích odpovědí jsem prošel několika cestami a jediná kombinace předchozích odpovědí pro mě pracovala. On, co jsem udělal a co šlo OK, co se pokazilo a moje řešení.

Mám LUKS šifrovaný pevný disk, který musím připojit z live bootovacího USB pro buntu 15.1. Začal jsem tímto příkazem,

udisksctl unlock -b /dev/sda3

kde sda3 je šifrovaný oddíl. Tento příkaz se mnou nepracoval a nejsem si jistý proč, proto jsem použil následující příkaz:

Sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

fungovalo to se mnou a nemusel jsem ji instalovat, protože to bylo v live boot.

Nyní musím připojit HD, a to nebyla přímá věc: Zkusil jsem:

Sudo mkdir /media/my_device
Sudo mount /dev/mapper/my_encrypted_volume /media/my_device

Ale druhý příkaz se mnou nepracoval, a proto musím najít práci, která je následující:

Sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root

To byla moje cesta .. ale můžete použít cestu dev/mapper/ubuntu a poté dvojitou záložkou zobrazíte zbývající možnosti. Toto připojilo HDD jako:

Mounted /dev/dm-1 at /media/root/03cf6b80-fa7c-411f-90b9-42a3398529ce

Pak jsem použil následující příkaz k jeho připojení jako /media/my_device následovně:

Sudo mount /dev/dm-1 /media/my_device/

který fungoval dobře.

Souhrn

Sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume
Sudo mkdir /media/my_device
Sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root
Sudo mount /dev/dm-1 /media/my_device/
2
aibrahim

Můžete jej připojit ve dvou krocích a já mám příklad skriptu.

Poznámka: služba udiskctl připojí věci pod/media, je určena spíše pro uživatele stolních počítačů, kteří připojují USB flash disky. Pokud chcete zařízení připojit jinam, není to řešení, které hledáte.

Tady je to, co jsem vypracoval. V tomto příkladu je moje šifrované zařízení oddíl vytvořený s lvm, ale na tom vlastně nezáleží. Jedná se o oddíl ve formátu ext4. Ve své zašifrované podobě žije na

/dev/myvg/opt1 

šifrovaná část se takto „otevře“ (dešifruje)

  STEP 1:  Sudo cryptsetup luksOpen /dev/myvg/opt1 opt1_opened

(zde zadejte přístupové heslo)

posledním argumentem je dočasný odkaz na dešifrované blokové zařízení. 'Mapování' zmizí po restartu, takže si můžete vybrat jiné jméno pokaždé, pokud chcete.

nyní je viditelný jako zařízení:

ls /dev/mapper
control  myvg-opt1  myvg-root  opt1_opened

Můžete připojit toto zařízení: nyní máme zařízení ext4. Chcete-li to usnadnit, přidejte do/etc/fstab řádek

/dev/mapper/opt1_opened /opt1   ext4    noauto,users    0       0

a udělejte bod připojení (v mém případě: Sudo mkdir /opt1 a poté nastavte oprávnění podle potřeby) Pokud jste v kroku 1 použili název opt1_opened, pak je tento krok druhým krokem:

STEP 2: mount /opt1   #the fstab line lets users mount, so no need for Sudo

a je to namontováno.

Proto, bash skript:

#!/bin/bash
#needs to be run Sudo
read -s -p "Enter LUKS password: " luks_password
printf $luks_password | cryptsetup luksOpen /dev/myvg/opt1 opt1_opened --key-file -
Sudo -u tim mount /opt1
2
Tim Richardson

Správná odpověď je gio mount -d /dev/dm-x (žádné sudo).

Předchozí odpovědi ukazují odpojení s připojením Nautilus nebo Nemo, protože musíte zadat přístupové fráze LUKS, i když je již dříve uloženo v uživatelském klíčence z GUI. Používání gio automaticky používá přístupovou frázi dříve uloženou Nautilem nebo Nemem.

Podrobnější odpověď viz https://unix.stackexchange.com/questions/394320/what-command-does-nemo-use-to-mount-drives/536842#536842

1
Redsandro

Na mé Chromebooku s (crouton) Ubuntu Xenial 16.04 zjistím, že když vydám:

Sudo cryptsetup luksOpen/dev/sda1 my_encrypted_volume

za výše uvedený příspěvek a zadejte své přístupové fráze, dostanu „S tímto přístupovým frází není k dispozici žádný klíč.“ Avšak náhodou jsem našel (a velmi zvláštní to je!) Celá věc funguje, když přidám "--debug" do příkazu cryptsetup! Poté jsem schopen připojit svazek a přistupovat k souborům.

Požádání správce souborů Thunar, aby provedl výsledky připojení „Není autorizováno k provedení operace“. chyba. Nedokážu to vymyslet, ale jelikož dokážu připojit na příkazový řádek, je to poněkud přijatelné.

0
yawlhoo

Hledal to samé ...

Kroky mkdir byly mým důvodem k dalšímu pohledu. Také jsem upravil policykit, aby se můj uživatel mohl připojit bez předchozí žádosti o kořenový passwd a poté o heslo šifrovaného svazku, takže Sudo také zabil.

Moje řešení, které jsem našel, bylo použití gvfs-mount z gvfs-bin balíček. Nyní s gvfs-mount -d /dev/sda7 Mám dotaz pouze na šifrované heslo a je připojeno pod /media/VOLUME_LABEL.

0
user70767

Dobře, takže mám funkční řešení, kluci, jak již bylo řečeno, důvodem, proč se zobrazuje chyba mount: unknown filesystem type 'LVM2_member', Je to, že ve výchozím nastavení váš linuxový stroj přiřadí stejný název VG externímu pevnému disku, a proto celý oddíl na externím HDD jsou neaktivní.

To je to, co musíte udělat:

  1. odpojte externí pevný disk a vezměte na vědomí interní VG UUID pomocí (Sudo vgdisplay command),
  2. nyní připojte externí pevný disk a přejmenujte skupinu VG vašeho EXTERNÍHO HDD (ne interní, tím se rozbije vaše krabice) (vgrename UUID_Number [new-group]).
  3. Zkontrolujte, zda je ve VGdiplay aktualizován nový název, nyní aktivujte nový VGroup (vgchange [new_group] -a y), Zkontrolujte, zda jsou aktivovány všechny oddíly (lvscan).
  4. Nyní byste měli vidět všechny své oddíly pod ls /dev/mapper/[new_group], Vše, co musíte udělat, je připojit oddíl (mount -t ext4 /dev/mapper/[new_group]-data /zez)
0
Zareena Shinwari