Monter des volumes chiffrés à partir de la ligne de commande?

66

Si j'ai un disque externe crypté (ou un disque interne qui n'est pas dans fstab), je vois une entrée correspondante dans Nautilus - avec une entrée telle que "X GB Encrypted Volume". Je peux cliquer sur ce volume et je suis invité à saisir un mot de passe pour décrypter et monter le périphérique.

Mais comment puis-je faire cela à partir de la ligne de commande?

Cette page de wiki , ainsi que d'autres documents que je peux trouver, font uniquement référence aux méthodes graphiques de décryptage du périphérique; mais cela ne fonctionnera pas dans le contexte de serveurs sans tête ou de connexions SSH. Existe-t-il un moyen simple de monter des périphériques sur des emplacements automatiques dans /media , exactement comme ils le feraient avec l'interface graphique?

(Je ne pose pas de question sur les répertoires de départ chiffrés. Je suis au courant de ecryptfs-mount-private . Cette question concerne les volumes chiffrés supplémentaires.)

    
posée cha 29.09.2011 - 19:10
la source

11 réponses

47

Les étapes de la réponse de @Georg Schölly ne fonctionnaient pas pour moi à l'époque, bien qu'elles puissent fonctionner maintenant, quelques versions d'Ubuntu après. À l’époque, après l’étape sudo mount /dev/mapper/my_encrypted_volume /media/my_device , j’ai eu l’erreur:

mount: unknown filesystem type 'LVM2_member'

Déverrouillage et montage du disque avec udiskctl

À la place, j'ai utilisé udisksctl , une interface de ligne de commande qui interagit avec le service udisksd .

Voici ce qui a fonctionné ( /dev/sdb5 est la partition de mon disque dur marquée crypt-luks ):

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

Après avoir tapé la première commande, vous serez invité à saisir votre phrase secrète de cryptage. Une fois que la partition cryptée est déverrouillée, la deuxième commande la monte. Si cela réussit, vous obtiendrez un message similaire à ceci:

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

À partir de là, je pourrais accéder aux données:)

Notes

  • Les commandes sont exécutées sans sudo .
  • La dénomination ubuntu-root peut changer entre les différentes versions d’Ubuntu (par exemple, je l’ai aussi appelée system-root ). Un moyen simple de connaître le nom consiste à exécuter la commande suivante après avoir déverrouillé la partition LUKS :

    ls -la /dev/mapper

    Ensuite, en regardant le résultat de la commande ls , le nom dont vous aurez besoin sera généralement celui qui est lié symboliquement à /dev/dm-1

  • J'ai toutefois constaté un inconvénient à l'utilisation de udisksctl . Une fois déverrouillée, la partition est mappée en tant que lien symbolique dans /dev/mapper . Le nom de ce lien symbolique devient l'UUID du périphérique. Cependant, des outils tels que initramfs-update s'attendent à ce que le lien symbolique corresponde au nom dans /etc/crypttab et afficheront une erreur à moins que le lien symbolique ne soit renommé. Alternativement, utiliser cryptsetup luksOpen semble définir correctement le nom du lien symbolique.
réponse donnée David Planella 08.04.2013 - 15:22
la source
71

Votre volume est probablement chiffré avec LUKS, voici comment le monter:

Vous avez besoin de:

sudo apt-get install cryptsetup

Pour déchiffrer le volume:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

Vous pouvez maintenant le monter comme d'habitude:

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

Pour verrouiller à nouveau le conteneur, vous devez d'abord le démonter:

sudo umount /media/my_device
sudo cryptsetup luksClose my_encrypted_volume

Pour le placer automatiquement à l'emplacement /media , utilisez l'outil udisks

sudo udisks --mount /dev/mapper/my_encrypted_volume
    
réponse donnée Georg Schölly 29.09.2011 - 19:38
la source
17

Si vous obtenez cette erreur:

mount: unknown filesystem type 'LVM2_member'

exécuter:

sudo apt-get install lvm2
sudo lvscan

puis activez tous les LVM que vous voyez

sudo vgchange -ay

puis relancez le montage:

sudo mount /dev/mapper/my_encrypted_volume /media/my_device
    
réponse donnée taitelman 18.06.2014 - 18:00
la source
11

Un des problèmes que j'ai rencontrés était les groupes de volumes en double : mon système de récupération et le lecteur à récupérer étaient des systèmes Ubuntu avec LVM. C’est la raison pour laquelle j’ai eu deux ubuntu-vg groupes de volumes ( vgdisplay afficherait les deux, chacun avec son propre UUID, mais je n’ai pas pu accéder à leurs volumes logiques).

Ma solution repose sur la réponse de Georg:

  • Démarrez à partir d'un live-linux (afin de ne pas rencontrer le nom du groupe de volumes dupliqué)
  • sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
  • entrez votre phrase secrète lorsque vous y êtes invité
  • sudo vgscan devrait maintenant récupérer les volumes / groupes contenus.

  • DRAGONS AHEAD: NOUS CHANGONS LE NOM DU GROUPE VOLUME. VOUS NE POUVEZ PAS COMMENCER À CONTINUER!

    utilisez sudo vgrename ubuntu-vg ubuntu-vg2 pour renommer le groupe de volumes.

    Si vous devez démarrer à partir de ce lecteur, vous pouvez effectuer cette opération à nouveau, mais renommez votre groupe de volumes back en ubuntu-vg. Une autre possibilité est de modifier votre configuration d’initialisation avec le nouveau nom de vg.

Maintenant que le nom de vg en double est résolu, je peux redémarrer dans mon système habituel, refaire le cryptsetup... , vgscan puis monter /dev/mapper/ubuntu--vg2-root où bon vous semble.

    
réponse donnée amenthes 27.04.2014 - 11:07
la source
3

sdb1 voici un exemple où vous devez entrer le nom de votre appareil. Aucune de ces commandes ne nécessite de privilèges root.

déverrouiller le disque crypté

udisksctl unlock -b /dev/sdb1

après avoir inséré le mot de passe correct, le résultat obtenu est le suivant: Déverrouillé / dev / sdb1 sous le nom / dev / dm-3

puis montez-le sur / media /

udisksctl mount -b /dev/dm-3

il devrait générer quelque chose comme ceci: Monté / dev / dm-3 sur / media / yourUserName / sdb

pour le démonter

udisksctl unmount -b /dev/dm-3

pour le verrouiller à nouveau

udisksctl lock -b /dev/sdb1
    
réponse donnée D.Snap 28.03.2016 - 07:01
la source
2

Je suis passé par plusieurs chemins parmi les réponses précédentes et seule une combinaison des réponses précédentes a fonctionné pour moi. Il a fait ce que j'ai fait et ce qui a bien fonctionné, ainsi que ce qui a mal tourné et ma solution de contournement.

J'ai un disque dur crypté LUKS que je dois monter à partir d'un périphérique USB à démarrage en direct pour Ubuntu 15.10 . Pour ce faire, j'ai commencé avec la commande suivante,

udisksctl unlock -b /dev/sda3

où sda3 est la partition chiffrée. Cette commande ne fonctionnait pas avec moi et je ne sais pas pourquoi. J'ai donc utilisé la commande suivante:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

cela a fonctionné avec moi et je n'ai pas eu besoin de l'installer car il était là dans le démarrage en direct.

Maintenant, je dois monter le disque dur, et ce n’était pas une chose simple: j’ai essayé:

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

Mais la deuxième commande n'a pas fonctionné avec moi et je dois donc trouver un travail autour de ce qui suit:

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

C'était mon chemin .. mais vous pouvez utiliser le chemin dev/mapper/ubuntu puis double onglet pour voir le reste des options. Cela a monté le disque dur en tant que:

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

Ensuite, j'ai utilisé la commande suivante pour le monter en tant que /media/my_device en tant que suivant:

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

qui a bien fonctionné.

Résumé

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/
    
réponse donnée aibrahim 07.06.2017 - 13:59
la source
2

Toutes les réponses ci-dessus partaient de l'hypothèse que l'utilisateur savait déjà quelle partition était la partition chiffrée. Venant de quelqu'un qui n'aime pas tellement la ligne de commande, je m'attendais à une réponse conviviale ... Voilà donc mes 2cents.

  1. Ouvrez l'application "disques" d'ubuntu.
  2. Localisez votre disque dur monté dans le panneau de gauche.
  3. Cliquez sur la partition portant le nom "LUKS": vous pourrez ainsi voir son point de montage dans le texte "Périphérique" ci-dessous (dans mon cas, /dev/sdb4 ).

Ensuite, j'ai essayé de le monter comme indiqué ci-dessus:

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

Mais vous avez cette erreur:

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

Ok, donc j'imagine que nautilus a déjà essayé de le monter (car il m’a demandé le mot de passe lors de la connexion USB, même s’il ne permettait pas d’afficher l’arbre déchiffré). Cependant, le message d'erreur n'est pas vraiment utile car il ne me dit pas où il est déjà mappé / monté. Mais cette commande aide dans ce cas:

$ 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! Donc c’est /dev/dm-3 .

Cependant, lorsque vous essayez de le monter, cela ne fonctionne pas:

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

Après avoir bricolé beaucoup, j'ai découvert que je rencontrais le problème duplicate volume groups (décrit ci-dessus par @amenthes) car les commandes sudo vgscan -v et sudo vgdisplay affichaient deux entrées portant le même nom de groupe de volumes. Cependant, j'ai trouvé un meilleur moyen de le gérer que sa méthode (nul besoin de démarrer sur un LiveCD pour renommer les groupes de volumes!), Dans cette link , que je citerai ci-dessus (juste au cas où ce lien serait brisé ...):

Si vous exécutez ls -la /dev/mapper/ , vous devriez voir un luks-xxxxxx-xxxxx-xxxx ou un fichier similaire. C'est le mappage qui a été créé lorsque Ubuntu a demandé le mot de passe de cryptage avec une boîte de dialogue mais ne l'a pas ouvert (tout le dialogue a été d'appeler luksOpen et de le mapper sur ce fichier / dev / mapper / luks-xxx). Maintenant:

  1. Assurez-vous que votre volume physique est disponible en exécutant la commande sudo pvdisplay . Ce devrait être / dev / mapper / luks-xxx-que ce soit.
  2. Obtenez le uuid du volume en exécutant sudo pvs -o +vg_uuid . L'uuid sera la valeur affichée complètement à droite, contenant 7 valeurs délimitées par des tirets. Copiez-les quelque part car nous les utiliserons à l'étape suivante. NE PAS CONFUSER DES UUIDES ET COPIER LE MAUVAIS. Copiez uniquement celui de votre périphérique actuel / dev / mapper / luks-xxx.
  3. Modifiez le groupe de volumes de votre ancien disque en exécutant la commande suivante: sudo vgrename UUIDOFYOURDISKHERE oldhd Vous pouvez remplacer "oldhd" par ce que vous voulez, à condition qu'il diffère du nom du groupe de volumes de votre disque actuel. Cette étape supprime le conflit avec les noms de groupe de volumes, ce qui vous permet maintenant de rendre les volumes disponibles.
  4. Exécutez la commande vgchange -a y pour rendre les volumes actifs.
  5. Créez un dossier pour un point de montage quelque part, par exemple: sudo mkdir /media/<yourUserName>/someDir
  6. Montez-le: sudo mount /dev/oldhd/root /mnt/oldhd .
  7. Après avoir utilisé vos fichiers, vous devez renommer votre groupe de volumes en ubuntu-vg si vous souhaitez que le volume soit toujours amorçable.
réponse donnée knocte 19.06.2017 - 03:05
la source
2

Pour ceux d'entre nous qui ne veulent pas utiliser un outil graphique même pour déterminer quelle partition est chiffrée.

  • rechercher les partitions chiffrées

    lsblk -lf | grep LUKS
    

    -l demande le format "liste" - nous n'avons pas besoin de l'arborescence
    -f nous indique également le nom du système de fichiers

    nous obtenons quelque chose comme

    sdc2 crypto_LUKS b09d6209-......

  • déverrouiller la partition que nous voulons (dans mon cas, /dev/sdc2 )

    udisksctl unlock -b /dev/sdc2
    

    -b signifie que nous donnons le chemin à un périphérique bloc

    après avoir entré la phrase secrète, nous obtenons une réponse affirmative avec les informations nécessaires pour la prochaine étape:

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

  • montez le périphérique nouvellement créé ( dm signifie gestionnaire de périphériques )

    udisksctl mount -b /dev/dm-6
    

    Nous obtenons à nouveau une réponse affirmative contenant des informations utiles:

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

    ( g étant mon nom d'utilisateur sur ce système, Data est l'étiquette que j'ai utilisée pour cette partition)

    Il est possible que votre système de bureau / gestionnaire de fichiers ait déjà monté automatiquement le périphérique ou que vous l’ayez fait vous-même auparavant. Ensuite, vous obtenez quelque chose comme

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

    Ce n’est pas un problème, vous pouvez quand même accéder aux données de la partition chiffrée.

  • accéder aux données: ls /media/g/Data
  • démontez à nouveau le périphérique (utilisez le même nom que vous avez utilisé pour le montage, la commande est unmount , pas umount :-))

    udisksctl unmount -b /dev/dm-6
    

    Si le périphérique n'est pas occupé, vous obtiendrez

    Unmounted /dev/dm-6.

  • Verrouillez à nouveau la partition (vous devez vous rappeler le nom de la partition)

    udisksctl lock -b /dev/sdc2
    

    Vous obtiendrez

    Locked /dev/sdc2.

  • Éteignez éventuellement l'intégralité du disque externe

    udisksctl power-off -b /dev/sdc
    

    Avec un bureau graphique, vous pouvez obtenir une erreur ici:

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

    Dans ce cas, vous pouvez utiliser udisksctl pour démonter les partitions une par une jusqu'à ce que vous réussissiez. Le udisksctl power-off ne renvoie aucun message.

réponse donnée guntbert 16.05.2018 - 19:13
la source
0

Sur mon Chromebook avec (crouton) Ubuntu Xenial 16.04, je constate que lorsque je publie:

sudo cryptsetup luksOpen / dev / sda1 mon_encrypted_volume

Selon la publication ci-dessus et entrez ma phrase secrète, je reçois le message "Aucune clé disponible avec cette phrase secrète." Cependant, par accident, j'ai trouvé (et c'est très étrange!) Tout fonctionne quand j'ajoute "--debug" à la commande cryptsetup! Je peux alors monter le volume et accéder aux fichiers.

Demander au gestionnaire de fichiers Thunar d’obtenir les résultats de montage "Non autorisé à effectuer l’opération". Erreur. Je suis incapable de trouver un moyen de contourner cela, mais comme je peux effectuer le montage en ligne de commande, c'est un peu acceptable.

    
réponse donnée yawlhoo 28.12.2016 - 08:12
la source
0

D'accord, j'ai donc une solution qui fonctionne, comme indiqué précédemment, la raison pour laquelle vous obtenez une erreur mount: unknown filesystem type 'LVM2_member' est que, par défaut, votre machine Linux attribue le même nom VG à un disque dur externe, d'où toute la partition d'un disque dur externe. sont inactifs.

C’est ce que vous devez faire:

  1. débranchez votre disque dur externe et prenez note de votre UUID VG interne en utilisant ( sudo vgdisplay command ),
  2. branchez maintenant votre disque dur externe et renommez le groupe VG de votre Disque dur externe (pas interne, cela cassera votre boîte) ( vgrename UUID_Number [new-group] ).
  3. Vérifiez que le nouveau nom est mis à jour dans VGdiplay, activez maintenant le nouveau groupe VG ( vgchange [new_group] -a y ), vérifiez que toutes les partitions sont activées ( lvscan ).
  4. Maintenant, vous devriez voir tous vos partitions sous ls /dev/mapper/[new_group] , tout ce que vous avez à faire est monter la partition ( mount -t ext4 /dev/mapper/[new_group]-data /zez )
réponse donnée Zareena Shinwari 13.02.2018 - 12:18
la source
0

Je cherchais le même ...

Les mkdir étaient ma raison de chercher plus loin. J'ai également modifié policykit pour permettre à mon utilisateur de monter sans demander au préalable le mot de passe racine, puis le mot de passe du volume chiffré, de sorte que le sudo était aussi sur tuer.

Ma solution que j'ai trouvée consistait à utiliser gvfs-mount du package gvfs-bin . Maintenant, avec un gvfs-mount -d /dev/sda7 , le mot de passe chiffré ne me sera demandé que et il est monté sous /media/VOLUME_LABEL .

    
réponse donnée user70767 15.06.2012 - 10:57
la source

Lire d'autres questions sur les étiquettes