Automatyczne montowanie zaszyfrowanej karty SD

Naczytałem się na ten temat, ale najwyraźniej za słaby jestem na to (nie chcę użyć dosadniejszego określenia :slight_smile: ) więc zwracam się o pomoc. Potrzebne polecenie zamontowania karty pamięci.
Zaszyfrowałem sobie kartę pamięci i teraz po uruchomieniu komputera nie montuje się automatycznie tzn. nie pyta o hasło. Trzeba ręcznie w menadżerze nacisnąć na kartę to wtedy pyta o hasło i się ładnie montuje. Ja bym chciał żeby to okienko do wpisywania hasła samoczynnie wyskakiwało po uruchomieniu komputera. Na tej karcie chcę robić automatyczne kopie moich plików, a jak znam życie to za jakiś czas zapomnę żeby ręcznie klikać na kartę i chciałbym to zautomatyzować np. w cronie.

[wiini2@mabox Z_HP]$ lsblk -o name,size,type,mountpoint,uuid
NAME          SIZE TYPE MOUNTPOINT          UUID
loop0          97M loop /var/lib/snapd/snap 
loop1        96,5M loop /var/lib/snapd/snap 
loop2          55M loop /var/lib/snapd/snap 
sda         111,8G disk                     
├─sda1        512M part /boot/efi           380D-95B3
├─sda2       55,7G part                     fa91edac-9cb6-4841-971a-15fa07cdecb5
└─sda3       55,7G part /                   441d5315-d575-476e-a9f7-371b615fdc66
mmcblk0       7,2G disk                     
└─mmcblk0p1   7,2G part                     d215fc2f-b1e4-448c-82bd-09f383efbc97
[wiini2@mabox Z_HP]$ fdisk -l

Dysk /dev/mmcblk0: 7,22 GiB, bajtów: 7744782336, sektorów: 15126528
Jednostki: sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Typ etykiety dysku: dos
Identyfikator dysku: 0x6816afae

Urządzenie     Rozruch Początek   Koniec  Sektory Rozmiar Id Typ
/dev/mmcblk0p1             2048 15126527 15124480    7,2G 83 Linux

próbowałem miedzy innymi takiego polecenia:

[wiini2@mabox ~]$ sudo mount /dev/mmcblk0p1 /run/media/wiini2/
mount: /run/media/wiini2: nieznany typ systemu plików 'crypto_LUKS'.

ale jak widać bez rezultatu. Zapewne coś robię źle, ale nie wiem co.
Za wszelką pomoc będę wdzięczny :slight_smile:

Skoro ma montować się podczas startu systemu, to dlaczego nie użyć fstab? A skoro jest, to partycja szyfrowana, to crypttab:

https://wiki.archlinux.org/index.php/Dm-crypt/System_configuration#crypttab

Dziękuję za odpowiedź. Przetestowałem polecenie
externaldrive UUID=2f9a8428-ac69-478a-88a2-4aa458565431 none luks,timeout=180
i “prawie” spełnia założenia. Prawie robi jednak różnicę. Trzeba wpisać hasło przed ekranem logowania do systemu, a nie po uruchomieniu systemu. Poza tym jak się nie wpisze hasła to tworzą się jakieś dziwne katalogi i wszystko jakieś zamulone.
Na razie nie zaznaczam, że rozwiązane bo jednak to nie to. Będę szukał dalej.

Z tego co widzę, to nie boot’ujesz z tej karty, ani nie ma na niej niczego, czego potrzebował byś w trakcie startu systemu, więc proponuję taki zestaw:

/etc/crypttab
--------------------------------------------
luks-2f9a8428-ac69-478a-88a2-4aa458565431   UUID=2f9a8428-ac69-478a-88a2-4aa458565431  /lokalizacja/pliku/crypto_keyfile.bin   luks
/etc/fstab
--------------------------------------------
/dev/mapper/luks-2f9a8428-ac69-478a-88a2-4aa458565431   /punkt_montowania   ext4   defaults,noatime   0  2

Jeżeli nie chcesz tego robić ręcznie, to użyj gnome-disks i funkcji:

  1. Modyfikuj opcje szyfrowania … - dla odblokowanej partycji LUKS (wpis w crypttab);
  2. Modyfikuj opcje montowania … - dla zamontowanej partycji ext4 (wpis w fstab).

Wyłączasz Domyślne ustawienia sesji użytkownika i wpisujesz własną konfigurację.


EDIT-20200709-2203 … przepraszam, drobne przeoczenie, ale istotne. W crypttab lokalizacją hasła nie może być /crypto_keyfile.bin, bo go tam nie ma (już poprawiłem zapis powyżej). Należy skopiować plik crypto_keyfile.bin z rozszyfrowanej partycji (na / lub do /home) i w crypttab podać jego umiejscowienie. Albo, jeżeli używamy gnome-disks, wpisać hasło w konfiguracji - zostanie ono zapisane w /etc/luks-keys/.


EDIT-20200709-2233 … jeżeli zamontowana partycja ma być widoczna jako osobne urządzenie w manager’ze plików, to w fstab (w opcjach montowania) należy dodać x-gvfs-show.

Dziękuję za odpowiedź. Wygląda jednak na to, że jako niedoświadczony użytkownik komputera pomyliłem pojęcia w pierwszym poście :worried::hammer:. Wygląda, że na podstawowych ustawieniach karta się montuje, bo jest widoczna w menadżerze plików jako “wolumin 7,7GB” bez żadnych dodatkowych wpisów i ustawień. Pisząc o wyskakującym oknie chodziło mi o okno do wpisania hasła odszyfrowującego tą kartę, ale tego chyba się nie da zautomatyzować ponieważ na stronie podanej w linku jest zapis, że crypttab jest czytany przed fstab i chyba automatyczne odszyfrowanie jest możliwe przed uruchomieniem systemu, a nie po. Brak znajomości języka angielskiego znacząco ogranicza moje możliwości poznawcze w internetach bo tam większość jest właśnie w tym języku, ale będę próbował jeszcze to zrobić. Po powrocie do domu zobrazuję zrzutami ekranu o co mi chodzi.
Chyba powinienem zmienić tytuł na “Automatyczny monit o hasło do zaszyfrowanej karty SD”

  1. Jeżeli chodzi o komunikat z prośbą o hasło do zaszyfrowanej partycji, po zalogowaniu się user’a, to:
$ sudo cryptsetup open UUID=2f9a8428-ac69-478a-88a2-4aa458565431 2f9a8428-ac69-478a-88a2-4aa458565431
  1. Polecenie ‘odklucza’ ‘zakluczoną’ partycję, szukając jej po UUID (moim zdaniem najlepszy sposób, bo najbardziej unikalny, więc najpewniejszy). Ponieważ ani hasło, ani klucz nie jest podany, to padnie pytanie o hasło.
  2. Uruchamiasz komendę w terminalu, na przykładzie terminala z Xfce, bez zamykania okna po wykonaniu komendy (- - hold):
$ xfce4-terminal --hold --command "sudo cryptsetup open UUID=2f9a8428-ac69-478a-88a2-4aa458565431 2f9a8428-ac69-478a-88a2-4aa458565431"
  1. Wrzucasz polecenie do autostartu.

Plusy dodatnie:

  • pozostajemy w przestrzeni użytkownika i nie grzebiemy bez ważnej potrzeby w systemie;
  • łatwo włączyć/wyłączyć;
  • możliwości rozwojowe, bo możemy spersonalizować okno terminala, a zamiast prostej komendy (w cudzysłowie) można uruchomić rozbudowany skrypt.

Plusy ujemne:

  • wpisujemy dwa hasła (bez sudo nie widzi urządzenia);
  • po wykonaniu komendy nie ma potwierdzenia, że zakończyła się sukcesem, co stwarza pewien dyskomfort.

EDIT-20200710-1535 … zakładam, że karta zaszyfrowana jest dm-crypt’em. Jeżeli nie, to należy cryptsetup zamienić innym poleceniem.

To spełnia założenia w 95% więc uznaję za rozwiązane. Użyłem trochę innego polecenia, tego ze strony podanej we wcześniejszym linku.

sudo cryptsetup luksOpen UUID=2f9a8428-ac69-478a-88a2-4aa458565431 externaldrive

Działa wyśmienicie ( jedno hasełko więcej nie jest niczym wielkim).
Wielkie podziękowania.
pozdrawiam

W zasadzie różnicy nie ma:

  • luksOpen robi to samo, co open - tyle, że nie jest wymagane sprawdzanie sposobu szyfrowania, bo jest, to podane w nazwie opcji;
  • externaldrive, to nazwa i można tam wpisać cokolwiek.