PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kubuntu: cryptsetup, passphrase in /etc/crypttab



Flummi
20.10.07, 17:58
Hallo,

ich verwende Kubuntu 7.10 und habe meine Festplatte verschlüsselt. Ich habe seperate swap-, boot- root- und home-Partitionen. root, swap und home sind verschlüsselt.

In der Datei /etc/crypttab steht folgendes:


swap /dev/sda5 /dev/urandom swap
root /dev/sda6 none luks
home /dev/sda7 /etc/keys/home luks


für die swap-Partition wird also eine Passphrase verwendet, die ich selbst nicht kenne, für root muss ich sie eintippen und für home sollte sie eigentlich aus der Datei /etc/keys/home gelesen werden, es funktioniert allerdings nicht.

Beim Bootvorgang kommt zum Zeitpunkt zu dem eigentlich die home-Partition entschlüsselt und gemountet werden soll, erscheint die Fehlermeldung:


* Starting early crypto disks
Command failed: No key available with this passphrase


Wenn ich die Passphrase auch händisch eingebe, funktioniert alles. Nur möchte ich mir diese Mühe ersparen.

Kennt jemand Rat?

Danke schonmal,
Flummi.

Flummi
20.10.07, 20:37
Wenn ich per Hand eine verschlüsselte Partition mit einem Key-File öffnen möchte, passiert das selbe:


$ cryptsetup luksOpen --key-file ./test.key /dev/sdb1 testpartition
Command failed: No key available with this passphrase.


Die FAQs (http://www.saout.de/tikiwiki/tiki-index.php?page=LUKSFaq) von LUKS sagen:



You are seeing
Failed to setup dm-crypt mapping.
Failed to read from key storage
Command failed: No key available with this passphrase.

dm-crypt does not work properly.
1. Check if you have a /dev/ tree, including /dev/mapper/control.
ghanima:~$ ls -l /dev/mapper/control
crw-r----- 1 root root 10, 63 Jan 1 1970 /dev/mapper/control
(char device, major 10, minor 63)^
If it's missing, you probably lack a complete /dev tree, so copy it somewhere or use devfs.
2. Check if you have device mapper and dm-crypt included in the kernel. Run
dmsetup targets
If don't, see a line like "crypt v1.1.0" or the command fails, compile device mapper and the crypt target into your kernel.
3. Check if you have the cipher you want to use included in the kernel. Run
cat /proc/crypto
4. If you are using <2.6.10, supply -c "aes-plain" on partition creation.


zu 1.)
$ ls -l /dev/mapper/control
crw-rw---- 1 root root 10, 63 2007-10-20 18:16 /dev/mapper/control

zu 2.)
$ dmsetup targets
crypt v1.5.0
striped v1.0.2
linear v1.0.2
error v1.0.1

zu 3.)
$ cat /proc/crypto
name : ecb(arc4)
driver : ecb(arc4-generic)
module : ecb
priority : 0
refcnt : 3
type : blkcipher
blocksize : 1
min keysize : 1
max keysize : 256
ivsize : 0

name : arc4
driver : arc4-generic
module : arc4
priority : 0
refcnt : 3
type : cipher
blocksize : 1
min keysize : 1
max keysize : 256

name : sha256
driver : sha256-generic
module : sha256
priority : 0
refcnt : 1
type : digest
blocksize : 64
digestsize : 32

name : cbc(aes)
driver : cbc(aes-i586)
module : cbc
priority : 200
refcnt : 5
type : blkcipher
blocksize : 16
min keysize : 16
max keysize : 32
ivsize : 16

name : aes
driver : aes-i586
module : aes_i586
priority : 200
refcnt : 8
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32

name : md5
driver : md5-generic
module : kernel
priority : 0
refcnt : 1
type : digest
blocksize : 64
digestsize : 16

Zum verwendeten Verschlüsselungsalgorithmus:

$ cryptsetup status testpartition
/dev/mapper/testpartition is active:
cipher: aes-cbc-essiv:sha256
keysize: 256 bits
device: /dev/sdb1
offset: X sectors
size: X sectors
mode: read/write


Sollte doch eigentlich alles passen, oder?

gadget
20.10.07, 20:46
Hast du das keyfile duch luksAddKey direkt eingebunden oder hast du nur versucht, die Passphrase in eine Datei zu speichern?

EDIT:
$ cryptsetup status testpartition
/dev/mapper/testpartition is active:
cipher: aes-cbc-essiv:sha256
keysize: 256 bits
device: /dev/sdb1
offset: X sectors
size: X sectors
mode: read/writeVersuche einmal folgende Option in deiner crypttab:

home /dev/sda7 /etc/keys/home luks,cipher=abc-cbc-essif:sha256

Flummi
20.10.07, 21:05
Danke für deine Antwort. Ich habe den Fehler gerade entdeckt. Ich hatte die Passphrase mit vi in das Key-File geschrieben. Dadurch hatte ich ein Newline-Zeichen am Ende, welches cryptsetup anscheinend stört. Mit `echo -n 'passphrase' > keyfile && chmod 400 keyfile` geht es aber problemlos.

cu,
Flummi.

gadget
20.10.07, 21:25
Du kannst mit luks ganz komfortabel auch direkt key-files einbinden, und seien es z. B. OOo-Dokumente ...