J'essaie de configurer un volume chiffré en suivant ce guide
Tout est configuré mais le montage du volume chiffré échoue au démarrage avec l'erreur:
fsck.ext4: Aucun fichier ou répertoire de ce type lors de la tentative d'ouverture de / dev / mapper / safe_vault Peut-être un périphérique inexistant?
Voici ma configuration:
crypttab
$ sudo cat /etc/crypttab
safe_vault /dev/disk/by-uuid/d266ae14-955e-4ee4-9612-326dd09a463b none luks
REMARQUE:
Le uuid
vient de:
$ sudo blkid /dev/mapper/<my_logical_group>-safe_vault
/dev/mapper/<my_logical_group>-safe_vault: UUID="d266ae14-955e-4ee4-9612-326dd09a463b" TYPE="crypto_LUKS"
fstab
$ sudo cat /etc/fstab | grep safe_vault
/dev/mapper/safe_vault /safe-vault ext4 defaults 0 2
Ce que j'ai fait...
Je suis donc allé sur le site Web du devoper et dans la FAQ sur les problèmes courants, ils disent:
Vérifiez que vous avez le mappeur de périphériques et la cible de cryptage dans votre noyau. La sortie des "cibles dmsetup" doit répertorier une cible "crypt". Si ce n'est pas le cas ou que la commande échoue, ajoutez un mappeur de périphérique et une cible de cryptage au noyau.
Alors je l'ai fait, il s'avère que je n'ai pas de crypt
cible:
$ sudo dmsetup targets
striped v1.4.1
linear v1.1.1
error v1.0.1
Le problème est que je ne sais pas comment ajouter une telle cible.
Je pense que cela (ne pas avoir la crypt
cible) peut provoquer l'ignorance de la crypttab
configuration au démarrage et donc essayer de monter l'entrée dans fstab
échoue car cryptsetup
n'a pas mappé mon volume crypté /dev/mapper/safe_vault
.
REMARQUE:
Le volume chiffré peut être correctement mappé, monté et écrit manuellement:
$ sudo cryptsetup luksOpen /dev/mapper/<my_logical_group>-safe_vault safe_vault
Enter passphrase for /dev/mapper/<my_logical_group>-safe_vault:
$ sudo mount /dev/mapper/safe_vault /safe_vault
Voici à quoi il ressemble après le mappage et le montage:
$ sudo lsblk -o name,uuid,mountpoint
NAME UUID MOUNTPOINT
sda
├─sda1 28920b00-58d3-4941-889f-6249357c56ee
├─sda2
└─sda5 uhBLE7-Kcfe-RMi6-wrlX-xgVh-JfAc-PiXmBe
├─<my_logical_group>-root (dm-0) 1bed9027-3cf7-4f8d-abdb-28cf448fb426 /
├─<my_logical_group>-swap_1 (dm-1) a40c16c4-7d0c-46d7-afc8-99ab173c20bb [SWAP]
├─<my_logical_group>-home (dm-2) e458abb7-b263-452d-8670-814fa737f464 /home
├─<my_logical_group>-other (dm-3) 0a1eec42-6534-46e1-8eab-793d6f8e1003 /other
└─<my_logical_group>-safe_vault (dm-4) d266ae14-955e-4ee4-9612-326dd09a463b
└─safe_vault (dm-5) 9bbf9f47-8ad8-43d5-9c4c-dca033ba5925 /safe-vault
sr0
MISE À JOUR
- Il s’avère que j’ai la
crypt
cible mais pour qu’elle apparaisse,dmsetup targets
j’ai dûcryptsetup luksOpen <my-device>
- J'ai essayé d'utiliser
UUID
s à la place selon la réponse de @Mikhail Morfikov, mais il échoue toujours au démarrage.
Je pense toujours que le problème est que, d'une manière ou d'une autre, le volume chiffré n'est pas mappé (ouvert avec cryptsetup luksOpen
) au démarrage, il n'existe donc pas /dev/mapper/<safe_vault or UUID>
, puis essayer de le monter (fstab) échoue.
MISE À JOUR 2
Il s'avère que je n'avais pas les scripts nécessaires à monter au démarrage. Voir la note dans la réponse de @ MikhailMorfikov.
la source
luksOpen
? Je m'attendrais à ce que s'il n'était pas là, luksOpen échouerait aussi.sudo cryptsetup luksOpen
deux nouvelles cibles apparaissent poursudo dmsetup targets
:error
etcrypt
. Je suppose que je dois changer la question alors .../dev/mapper/<my-logical-volume>-safe_vault
est un volume logique créé avec LVM et/dev/mapper/safe_vault
est le périphérique auquel il est mappé en faisantcryptsetup luksOpen /dev/mapper/<my-logical-volume>-safe_vault
. Savez-vous si celacrypttab
fonctionne avec des volumes LVM?/boot
). Le tout monté au démarrage sans problème. Êtes-vous sûr d'avoir misinitramfs
à jour après la modification/etc/crypttab
? Pouvez-vous montrer la sortielsblk -o name,uuid,mountpoint
lorsque tout est monté et fonctionne comme il se doit?Réponses:
Vous devez faire attention aux UUID. Par exemple, voici ma configuration:
J'ai une partition cryptée (sda2) avec 4 volumes (LVM). Ce dont j'ai besoin, c'est de définir deux UUID dans les bons fichiers. L'UUID sda2 va à
/etc/crypttab
et l'UUID du volume (par exemple debian_crypt-root) va à/etc/fstab
.Ce serait donc:
Après avoir changé le
/etc/crypttab
fichier, vous devez reconstruire initramfs:REMARQUE
Le package
cryptsetup
doit être installé car il contient des scripts de démarrage qui prennent en charge le montage automatique des volumes chiffrés au démarrage.Pourquoi prendre la peine de mentionner cela? Eh bien, si vous avez installé lors de l'installation LVM Debian Wheezy installe les paquets cryptsetup-bin ,
libcryptsetup4
etlvm2
noncryptsetup
, vous avez donc les outils pour configurer les périphériques et LVM LUKS mais pas les scripts nécessaires pour monter les périphériques LUKS au démarrage. Ceux-ci viennent dans le paquet cryptsetup .la source
UUID
mais j'obtiens la même erreur. Je mettrai à jour la question avec des détails.Il semble que la réponse de @Mikhail Morfikov couvre le montage pendant l' étape initramfs . Une alternative (si ce n'est pas le système de fichiers racine) est de décrypter et de monter la partition automatiquement via systemd , après le chargement du noyau linuz. Bien sûr, cela n'est possible que si vous exécutez systemd . Je vais expliquer la méthode ici:
L'
/etc/crypttab
entrée:Voici
noauto
une instruction pour ne pas essayer de décrypter le disque pendant l' étape initramfs .Ci-dessus,
e412-blahblah
l'UUID de la partition contenant le système luks, dans mon cas une partition/dev/sdb2
:Au démarrage du noyau linuz, systemd lira le
/etc/crypttab
fichier et créera un fichier de service d'exécution/run/systemd/generator/[email protected]
. Cependant, ce service n'est pas exécuté automatiquement. Vous pouvez l'exécuter manuellementmais pour le décrypter puis le monter au démarrage, il
/etc/fstab
peut être nécessaire de le faire comme suit:Voici
x-systemd.automount
une instruction à systemd pour monter/media/crypt-data
, et[email protected]
une instruction à systemd dont le déchiffrementcrypt2
est requis avant que cela ne soit possible.Dans le systemd ne montera pas réellement le répertoire jusqu'à la première fois qu'il est accédé, par exemple
ls /media/crypt-data
, alors il montera juste à temps et apparaîtra ensuite dans/proc/mounts
.en relation
Vous pouvez demander "* pourquoi avoir un disque de données chiffré avec la clé dans le système de fichiers racine?". C'est parce que le système de fichiers racine est également crypté, donc la clé est sûre. Le système de fichiers racine est décrypté pendant la phase de démarrage initramfs , une réponse de la Mikhail. J'ai une autre entrée dans le
/etc/crypttab
fichier pour ça:et je décris la configuration de cela et une clé USB de démarrage ici
la source