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 wiki , et d'autres documents que je peux trouver, ne font référence qu'à des méthodes d'interface graphique permettant de déchiffrer le 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 connais ecryptfs-mount-private
. Cette question concerne des volumes chiffrés supplémentaires.)
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: type de système de fichiers inconnu 'LVM2_member'
Au lieu de cela, j'ai utilisé udisksctl
name__, une interface de ligne de commande qui interagit avec le service udisksd
name__.
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 chiffrement. 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
De là, j'ai pu accéder aux données :)
Sudo
name__.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 la sortie de la commande ls
name__, le nom dont vous aurez besoin sera généralement celui qui a un lien symbolique avec /dev/dm-1
udisksctl
name__. 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 indiqué dans /etc/crypttab
et imprimera une erreur à moins que le lien symbolique ne soit renommé. En guise d'alternative, utiliser cryptsetup luksOpen
semble définir correctement le nom du lien symbolique.Votre volume est probablement chiffré avec LUKS, voici comment le monter:
Vous avez besoin:
Sudo apt-get install cryptsetup
Pour déchiffrer le volume:
Sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume
Maintenant vous pouvez 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, il doit d'abord être démonté:
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
Si vous obtenez cette erreur:
mount: unknown filesystem type 'LVM2_member'
courir:
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
Un problème que j'ai rencontré, était 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 pourquoi j'avais deux groupes de volumes ubuntu-vg
(vgdisplay
les afficherait tous les deux, chacun avec son propre UUID, mais je ne pouvais pas accéder à leurs volumes logiques).
Ma solution s'appuie sur la réponse de Georg:
Sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
Sudo vgscan
devrait maintenant récupérer les volumes/groupes contenus.
DRAGONS À L'AVANT: NOUS CHANGONS LE NOM DU GROUPE VOLUME. VOUS NE POUVEZ PAS COMMENCER À CONDUIRE APRÈS!!
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 procédure à nouveau, mais renommez votre groupe de volumes en le remettant en ubuntu-vg. Une autre possibilité consiste à modifier votre configuration de démarrage en utilisant le nouveau nom de vg.
Maintenant que le nom de domaine en double est résolu, je peux redémarrer dans mon système habituel, rétablir le cryptsetup...
, vgscan
, puis monter le /dev/mapper/ubuntu--vg2-root
où bon vous semble.
sdb1 voici un exemple où vous devriez entrer le nom de votre appareil, aucune de ces commandes ne nécessitera 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 sera le suivant: Débloqué/dev/sdb1 sous la forme/dev/dm-
puis montez-le sur/media /
udisksctl mount -b /dev/dm-3
il devrait produire quelque chose comme ceci: Monté/dev/dm-3 sur/media/yourUserName/sdb
le démonter
udisksctl unmount -b /dev/dm-3
pour le verrouiller à nouveau
udisksctl lock -b /dev/sdb1
Toutes les réponses ci-dessus partaient du principe que l'utilisateur sait déjà quelle partition est la partition crypté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.
/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 j'ai 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 n’a pas pu 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 (inutile de démarrer sur un LiveCD pour renommer les groupes de volumes!), Dans ce lien , que je citerai plus haut (juste au cas où le lien est cassé ...):
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 consisté à appeler luksOpen
et à le mapper sur ce fichier/dev/mapper/luks-xxx). À présent:
Sudo pvdisplay
. Ce devrait être/dev/mapper/luks-xxx-que ce soit.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 UUIDS ET COPIER LE MAUVAIS. Copiez uniquement celui de votre périphérique actuel/dev/mapper/luks-xxx.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.vgchange -a y
pour rendre les volumes actifs.Sudo mkdir /media/<yourUserName>/someDir
Sudo mount /dev/oldhd/root /mnt/oldhd
.ubuntu-vg
si vous souhaitez que le volume soit toujours amorçable.Pour ceux d'entre nous qui ne veulent pas utiliser un outil graphique, même pour déterminer quelle partition est chiffrée.
trouver des partitions chiffrées
lsblk -lf | grep LUKS
-l
demande le format "list" - nous n'avons pas besoin de l'arbre-f
nous montre aussi 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 l'étape suivante:
Unlocked /dev/sdc2 as /dev/dm-6
montez le périphérique nouvellement créé (dm
représente le gestionnaire de périphérique )
udisksctl mount -b /dev/dm-6
Encore une fois, nous obtenons une réponse affirmative avec 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 se peut 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.
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
, notumount
:-))
udisksctl unmount -b /dev/dm-6
Si l'appareil n'est pas occupé, vous obtiendrez
Unmounted /dev/dm-6.
Maintenant, verrouillez à nouveau la partition (vous devez vous rappeler le nom de la partition)
udisksctl lock -b /dev/sdc2
Tu auras
Locked /dev/sdc2.
éventuellement éteindre le disque externe complet
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 y arriviez. Le udisksctl power-off
ne renvoie aucun message.
Je suis entré dans plusieurs chemins à partir des réponses précédentes et seule une combinaison des réponses précédentes a fonctionné pour moi. Il ce que j'ai fait et ce qui s'est bien passé, et ce qui a mal tourné et ma solution de contournement.
J'ai un disque dur chiffré par LUKS que je dois monter à partir d'une clé USB de démarrage en direct pour buntu 15.1. Pour ce faire, j'ai commencé avec la commande suivante,
udisksctl unlock -b /dev/sda3
où sda3 est la partition chiffrée. Cette commande n'a pas fonctionné avec moi et je ne sais pas pourquoi, alors j'ai 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, j'ai besoin de monter la HD, 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 tabulation 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 procédant comme suit:
Sudo mount /dev/dm-1 /media/my_device/
qui a bien fonctionné.
en 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/
Vous pouvez le monter en deux étapes et j'ai un exemple de script.
Note: le service udiskctl montera les choses sous/media, il est plus conçu pour les utilisateurs de bureau qui montent des clés USB. Si vous souhaitez monter le périphérique ailleurs, ce n'est pas la solution que vous recherchez.
Voici ce que j'ai travaillé. Dans cet exemple, mon périphérique chiffré est une partition créée avec lvm, mais cela n'a pas vraiment d'importance. C'est une partition au format ext4. Dans sa forme cryptée, il vit à
/dev/myvg/opt1
une partition chiffrée est "ouverte" (déchiffrée) comme ceci
STEP 1: Sudo cryptsetup luksOpen /dev/myvg/opt1 opt1_opened
(c'est ici que vous entrez la phrase secrète)
le dernier argument est une référence temporaire au périphérique bloc décrypté. Le "mappage" disparaît lorsque vous redémarrez afin que vous puissiez choisir un nom différent à chaque fois, si vous le souhaitez.
il est maintenant visible en tant que périphérique:
ls /dev/mapper
control myvg-opt1 myvg-root opt1_opened
Vous pouvez monter ce périphérique: nous avons maintenant un périphérique ext4. Pour que ce soit pratique, ajoutez une ligne dans/etc/fstab
/dev/mapper/opt1_opened /opt1 ext4 noauto,users 0 0
et indiquez le point de montage (dans mon cas: Sudo mkdir /opt1
, puis configurez les autorisations à votre guise). Si vous avez utilisé le nom opt1_opened à l'étape 1, vous devez procéder à la deuxième étape pour le monter:
STEP 2: mount /opt1 #the fstab line lets users mount, so no need for Sudo
et c'est monté.
Par conséquent, un script bash:
#!/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
Sur mon Chromebook avec (Croûton) Ubuntu Xenial 16.04, je trouve 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 ensuite monter le volume et accéder aux fichiers.
Demander au gestionnaire de fichiers Thunar de réaliser 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 faire le montage en ligne de commande, c'est un peu acceptable.
Je cherchais le même ...
Les étapes mkdir
ont été 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 root, puis le mot de passe du volume chiffré. Le Sudo
était donc trop volé.
Ma solution que j'ai trouvée consistait à utiliser gvfs-mount
à partir du paquet gvfs-bin
. Maintenant, avec un gvfs-mount -d /dev/sda7
on ne me demande que le mot de passe crypté et il est monté sous /media/VOLUME_LABEL
.
Ok, donc j'ai une solution de travail les gars, comme expliqué précédemment, la raison pour laquelle vous obtenez l'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; toutes les partitions du disque dur externe sont donc inactives.
Voici ce que vous devez faire:
Sudo vgdisplay command
),vgrename UUID_Number [new-group]
).vgchange [new_group] -a y
), vérifiez que toutes les partitions sont activées (lvscan
).ls /dev/mapper/[new_group]
, tout ce que vous avez à faire est de monter la partition (mount -t ext4 /dev/mapper/[new_group]-data /zez
)