Come posso montare una directory / home crittografata su un'altra macchina Ubuntu?


38

Ho fatto qualcosa di un po ', beh, strano. Ho installato Ubuntu 12.04 direttamente su una chiavetta USB, crittografando la directory / home come opzione durante l'installazione. Il filesystem è btrfs, credo.

Ora l'ho inserito nel mio computer con Ubuntu e vorrei copiare un file sulla chiavetta USB. Come posso fare per montare la home directory crittografata in modo da poter copiare i file su di essa?

Risposte:


36

Per accedere ai dati sul tuo stick e per copiare i file su di esso devi montare eCryptfs. Ciò comporta diversi passaggi:

Per prima cosa dovresti inserire il tuo bastone. Se Ubuntu non lo monta automaticamente (di solito lo fa.), Dovresti montarlo.

Ora dovresti trovare una directory chiamata .Private. Se hai eseguito un'installazione predefinita, questa directory dovrebbe trovarsi /media/DISK/home/.ecryptfs/USERNAME/.Private. In questo esempio DISKè la directory in cui è montato lo stick ed USERNAMEè il nome dell'utente inserito al momento dell'installazione. Se non riesci a trovarlo da solo, apri un terminale ed entra

sudo find /media -type d -name .Private

Presumo nei seguenti passaggi che si trova la directory /media/DISK/home/.ecryptfs/USERNAME/.Private.

È necessaria la password di montaggio . Questo è diverso dalla password di accesso. Immettere il seguente comando in un terminale:

ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase

Devi inserire la password di accesso dall'installazione di USB-Ubuntu ( non la tua solita password). Il comando genera una passphrase. Annota o copialo in un file.

La password consente di sbloccare la directory. Devi farlo in due passaggi:

> sudo ecryptfs-add-passphrase --fnek
Inserted auth tok with sig [123456789abcdef0] into the user session keyring
> sudo mount -t ecryptfs /media/DISK/home/.ecryptfs/USERNAME/.Private /media/myUSB

Il primo comando aggiunge la passphrase al portachiavi del kernel e il secondo tenta di montarlo .Privatenella directory /media/myUSB. Se il latte non esiste, devi prima crearlo:

sudo mkdir /media/myUSB

Il mountcomando chiederà di nuovo la password di accesso . Successivamente chiederà un sacco di cose.

  • Accetta i valori di crittografia e dimensione chiave predefiniti ( aese 16).
  • Digitare nper passthrough in testo semplice.
  • Digitare yper la crittografia del nome file.
  • L'ultima cosa è la chiave di crittografia FileName (FNEK). Guarda l'output del ecryptfs-add-passphrase --fnekcomando che hai appena digitato. Ci sono due righe che iniziano con Inserted auth tok …. Inserisci il valore tra parentesi quadre del secondo output ( 123456789abcdef0).

Ora puoi accedere ai file /media/myUSBe copiarli da e verso la directory o le sottodirectory.

Gran parte della mia descrizione proviene dal " metodo di Live CD per aprire una home directory crittografata ".


4
Grazie. Ci sono state tre cose che mi hanno sorpreso che potrebbero aiutare gli altri: 1) Avevo bisogno sudo ecryptfs-add-passphrase --fnek, nota il sudo 2) ecryptfs-add-passphrasevuole la frase esadecimale da scartare ma mountrichiede la passphrase "login" 3) Ho bisogno di ripetere ecryptfs-add-passphrasedopo un umount
bsb

Grazie - è meraviglioso! Risolto anche il mio problema :) Esiste un modo per modificare il comando mount in modo che mantenga anche l'utente (uid) e il gruppo originali?
Ossi Viljakainen,

47

È possibile utilizzare ecryptfs-recover-private.

ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Private

Promuoverà la password di mount, sbloccerà la wrapping-passphrase e monterà la directory in modalità di sola lettura /tmp/con un solo comando. Usa il flag --rwper montare il filesystem crittografato mentre leggi e scrivi.

Puoi controllare la pagina man per maggiori informazioni.


7
Non sono sicuro del motivo per cui questa non è una risposta accettata. È MOLTO più veloce.
Kai,

2
@Kai Perché questa risposta è arrivata tre anni dopo ...
mook765,

3
Tuttavia, quando root
eseguo

4
la bandiera è --rwcon doppio trattino. nel caso in cui si verifichi un errore mount (2), eseguire la sudo ecryptfs-managerprima ed uscire immediatamente (4). quindi ripetere il
comando

3
Ah ah Non importa il mio suggerimento precedente. Meglio fare quello che ha detto ulkas : corri sudo ecryptfs-managere seleziona 4. Exitsenza fare altro. Questo ha il sorprendente effetto collaterale di far funzionare le cose.
nobar

4

Ho avuto un problema simile e sono finito qui. Stavo migrando il mio sistema su un altro disco rigido e avevo lo stesso utente con home crittografata sia sul vecchio che sul nuovo sistema.

Provai

ecryptfs-recover-private /media/old_disk/home/my_name/.Private

ma quella directory era in realtà un collegamento simbolico a

/home/.ecryptfs/my_name/.Private/

La directory di destinazione esisteva, ma puntava a .Private sul mio nuovo disco .

Il comando corretto dovrebbe essere:

ecryptfs-recover-private /media/old_disk/home/.ecryptfs/my_name/.Private

forse ecryptfs-recover-private dovrebbe visualizzare un avviso se rileva questo modello. Sembra un errore comune.


Oh, amico ... grazie! Ho trascorso così tanto tempo su questo. Poi ho pensato di averlo, solo per rendermi conto, che stava davvero montando il mio nuovo disco ... Grazie, ha funzionato perfettamente.
quapka,

0

La passphrase da scartare non ha funzionato. Ho dovuto eseguire:

ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase 

2
La risposta accettata è stata corretta per riflettere questo adesso.
mwfearnley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.