PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DM-Crypt mit key-file



Seiten : [1] 2

-Haihappen-
05.09.08, 18:54
Hallo,
ich habe meine komplette Debian-Distribution in ein LVM installiert und dieses über den Debian-installer verschlüsselt. Klappt auch alles Wunderbar...

Der einzige Hacken die permanente Passwordabfrage beim Systemstart. Ich möchte das ganze nun über ein Keyfile über einen USB-Stick laufen lassen. Habe dazu folgende Anleitung verwendet http://www.andreas-janssen.de/cryptodisk.html.

Das einzige Problem bereitet mir dieses Skript:


#!/bin/sh
modprobe usb-storage 1>&2 #Kernelmodul für den USB-Stick laden
sleep 5 #5 Sekunden warten damit der Stick bereit ist
mkdir /usb 1>&2 #Mountpunkt anlegen
mount -t vfat -o ro,umask=077 /dev/sdc1 /usb 1>&2 #Stick mounten
cat /usb/key3 #Schlüssel ausgeben
umount /usb 1>&2 #USB-Stick aushängen



Bekomme beim Erstellen einer neuen initrd (update-initramfs -u) folgende Fehlermeldung:

update-initramfs: Generating /boot/initrd.img-2.6.26-1-486
cryptsetup: WARNING: target hda2_crypt has an invalid keyscript, skipped
cryptsetup: WARNING: target hda2_crypt has an invalid keyscript, skipped


Wie kann man das Problem lösen?:confused:

Aqualung
05.09.08, 20:09
Wie sieht Deine "crypttab" aus?

-Haihappen-
06.09.08, 11:36
Hier der meine "crypttab":


hda2_crypt /dev/hda2 none luks,keyscript=/root/keyscript

sda1_crypt /dev/sda1 /media/usb/key1 luks

sdb1_crypt /dev/sdb1 /media/usb/key2 luks

Zusatzinformation:
Beim Versuch des Hochfahrens über key-file erscheint folgende Warnung:

Über neuen 26er Kernel:

WARNING: Error inserting padlock_sha (/lib/modules/2.6.26-1-486/kernel/crypto/padlock-sha.ko): No such device

Über alten 25er Kernel:

WARNING: Error inserting padlock_sha (/lib/modules/2.6.26-1-486/kernel/crypto/padlock-sha.ko): No such device
und

Enter LUKS passphrase: [ 6.761046] hub 2-0:1.0: unable to enumerate USB device on port 3

-Haihappen-
07.09.08, 18:55
Hat niemand eine Idee???:(

Aqualung
07.09.08, 19:39
mount -t vfat -o ro,umask=077 /dev/sdc1 /usb 1>&2 #Stick mounten

Ist dieser mount zuverlässig? Vllt. statt "sdc1" "UUID=..." verwenden.
"/root/keyscript" ist ausführbar?

assman
08.09.08, 18:26
Die UUID wird bei vfat nicht gehen, aber du kannst das über ein label mounten.
So habe ich das in meiner fstab:

LABEL=usbstick /media/usbstick ext3 ro,noauto 0 0

Ich habe die ganze Sache zwar nur für 2 Festplatten und nicht für das ganze System, aber möglich das es dir hilft.

Das Script läuft bei mir nach dem Start:


#!/bin/bash
mount /media/usbstick
/sbin/cryptsetup luksOpen /dev/sdb1 crypt1 --key-file /media/usbstick/key
/sbin/cryptsetup luksOpen /dev/sdd1 crypt2 --key-file /media/usbstick/key
sleep 5
mount /media/crypt1
mount /media/crypt2
umount /media/usbstick && beep -f 1000 -n -f 2000 -n -f 1500 &


Das Passwort liegt in der Datei "key" auf dem USB Stick.

Rain_maker
09.09.08, 15:54
Die UUID wird bei vfat nicht gehen,

Sicher?

Hier werden z.B. externe USB-Medien mittels UUID und einer entsprechenden HAL-Policy auf ihren "eigenen" Mountpunkt eingehängt, egal ob ext2/3, reiserfs oder VFAT/NTFS.

Nur weil Windows z.B. mit UUIDs nichts anfangen kann, heisst das nicht, daß es für VFAT/NTFS unter Linux keine UUIDs gibt, ein "/sbin/blkid" wird Dir auch für VFAT/NTFS-formatierte Partitionen eine UUID anzeigen.

Greetz,

RM

Aqualung
09.09.08, 17:24
"/sbin/blkid" wird Dir auch für VFAT/NTFS-formatierte Partitionen eine UUID anzeigen.


ACK:


/sbin/blkid /dev/sda1
/dev/sda1: UUID="1D6C4FDC1EF9D928" TYPE="ntfs"
# mount -t ntfs-3g UUID="1D6C4FDC1EF9D928" /windows
# mount | grep windows
/dev/sda1 on /windows type fuseblk (rw,allow_other,blksize=512)

assman
09.09.08, 18:45
Ich hatte es nicht versucht, nur irgendwo mal gelesen.

Onkel Google hat noch einen guten Link zu dem Thema UUID ausgespuckt:
http://manual.sidux.com/de/part-uuid-de.htm

Obwohl FAT- und NTFS-Dateisysteme UUID nicht unterstützen, werden sie in by-uuid mit eindeutigen, singulären Identifikationsnummern gelistet

-Haihappen-
10.09.08, 21:26
Danke für die vielen Antworten,
habe momentan leider wenig Zeit.

Habe das Ganze mit UUID getestet (ftsab u. keyscript verändert)...

Die keys auf dem Usb-Stick für die beiden zusätzlichen internen Platten werden richtig erkannt (beide Platten werden richtig gemountet).

Allerdings macht das keyscript nach wie vor Probleme (trotz einfügen des richtigen UUID Ausdrucks). So erscheinen die gleichen Fehlermeldungen wieder beim Hochfahren (siehe oben).

Paradox ist allerdings, dass der Rechner sogar ohne usb-stick (und Passwordabfrage) hochfährt, solange in der crybttab der querverweis zum keyscript vorhanden ist.
Sobald ich den Querverweis rausnehme kommt brav die Passwordabfrage zum Entschlüsseln der LVM-Volumen.

Woran kann das liegen?

Aqualung
10.09.08, 22:36
Hier


mkdir /usb 1>&2 #Mountpunkt anlegen

würde ich aus Sicherheit ein


mkdir -f /usb 1>&2 #Mountpunkt anlegen

machen, sonst stolpert das Skript bei der 2. Ausführung.
Anderseits kann es nicht schaden, im keyskript volle Pfade zu verwenden, in welcher Umgebung wird es denn beim booten ausgeführt?
Ist es selbst überhaupt zugänglich?
Sind die verwendeten Befehle nicht in der verschlüsselten Partition?

-Haihappen-
11.09.08, 16:32
Habe mein keyscript verändert ("abgespeckt"):

#!/bin/sh
modprobe usb-storage 1>&2 #Kernelmodul für den USB-Stick laden
sleep 5 #5 Sekunden warten damit der Stick bereit ist
mount -t vfat -o ro,umask=077 UUID="E4CA-77F4" /usb 1>&2 #Stick mounten
cat /usb/key3 #Schlüssel ausgeben
#umount /usb 1>&2 #USB-Stick aushängen



Das Skript liegt auf der nicht verschlüsselten Boot-Partition.
Im Anhang die Fehlermeldung.

Aqualung
11.09.08, 17:54
Ja, da stehts doch "weiss auf schwarz":

"mount: no such file ..."

Du musst wahrscheinlich die gesamte zum mounten des USB-Sticks benötigte "Infrastruktur" (sh, Befehle, Mountpoint) im unverschlüsselten Bereich unterbringen.
Beachte, dass Du alle libs mitnimmst (LD_LIBRARY_PATH setzen) oder statische exes kompilieren.

-Haihappen-
13.09.08, 14:41
Hallo Zusammen,
kurz nochmal eine
Beschreibung des aktuellen Problems:
Habe die komplette Linuxfestplatte verschlüsselt und kann sie nur durch eine Passwordeingabe beim Hochfahren (kurz nach GRUB) entschlüsseln. Will nun die Passwordabfrage durch ein Key-file ersetzen das auf einem USB-Stick gespeichert ist.

Mein Problem:
Trotz vieler Bemühungen kann beim Hochfahren nicht auf den USB-Stick zugegriffen werden, da die "mount" Funktion sich nicht initialisieren lässt.

Hier nochmal ein großes Dankeschön an "Aqualung" für seine Anleitung
(!Anleitung beseitigt aber leider immer noch nicht das Problem!)
Aqualungs Anleitung:



Könnte ein bisschen anstrengender werden:
mit


ldd /bin/mount

Kannst Du Dir die shared libs von mount anzeigen lassen.
Hier sieht das so


ldd /bin/mount
linux-gate.so.1 => (0xffffe000)
libvolume_id.so.0 => /lib/libvolume_id.so.0 (0xb7f05000)
libc.so.6 => /lib/libc.so.6 (0xb7dc2000)
/lib/ld-linux.so.2 (0xb7f39000)

aus (bei Dir wahrscheinlich anders).
Nun legst Du auf /boot ein lib-,bin, mnt-Verzeichnis an


mkdir -p /boot/cr/lib
mkdir -p /boot/cr/bin
mkdir -p /boot/cr/mnt

Nun schaufelst Du mit


cp -a /bin/mount /boot/cr/bin
cp -a /lib/libvolume_id.so.0 /boot/cr/lib
....

Dann passt Du Dein keyscript an:

Am Anfang


export LD_LIBRARY_PATH=/boot/cr/lib

Dann statt "mount" "/boot/cr/bin/mount" usw.

Das musst Du für ALLE Befehle durchziehen.

Der mount müsste dann etwa lauten:


/boot/cr/bin/mount -t vfat -o ro,umask=077 UUID="E4CA-77F4" /boot/cr/mnt 1>&2 #Stick mounten
cat /boot/cr/mnt #Schlüssel ausgeben

Leider hat es auch mit diesem Tipp nicht funktioniert - der Fehler bleibt der Gleiche.
Hat irgendwer Tipps oder Verbesserungsvorschläge zur Anleitung???

ProfBunny
14.09.08, 12:14
du gibst in der cryptab keyscript=/root/keyscript
mountes aber weder den stick dorthin, noch kopierst du den schlüssel von usb an diese stelle.

-Haihappen-
15.09.08, 18:59
Wie gesagt bin nach folgender Anleitung vorgegangen:
http://www.andreas-janssen.de/cryptodisk.html

Da ist die Veränderung der "Cryptab" genau so beschrieben...

# <target name> <source device> <key file> <options>
hda3_crypt /dev/hda3 none luks,keyscript=/root/keyscript

Was würdest Du verändern?

Aqualung
17.09.08, 21:03
So, bei mir hier läuft das ding in einer vbox einwandfrei.
Als wichtig erwiesen:

/etc/initramfs-tools/modules:


# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
usbcore
ata_generic
libata
usb_storage
ehci_hcd
ohci_hcd
uhci_hcd
scsi_mod
sd_mod
nls_cp437
nls_iso8859_1
vfat
... lieber eins zu viel als eins zu wenig...

/root/keyscript:


#!/bin/sh
modprobe usb-storage 1>&2 # Kernelmodul für den USB-Stick laden
sleep 5 # 5 Sekunden warten damit der Stick bereit ist
[-d /usb ] || mkdir /usb 1>&2 # Mountpoint ggf. anlegen
mount /dev/sda1 /usb 1>&2 #USB-Stick einhängen
cat /usb/key #Schlüssel ausgeben
umount /dev/sda1 1>&2 #USB-Stick aushängen


In
/etc/default/cryptdisks:

CRYPTDISKS_MOUNT="/usb"

Das sollte es dann gewesen sein.

Aqualung
18.09.08, 13:26
Nachtrag:

Mountpoint /usb ist ungünstig, weil "über" dem dann das /-filesystem liegt, der umount geht immer schief, und das device ist anschliessend auf alle Zeit "busy".

Als "dirty" würgaround:

/root/keyscript


#!/bin/sh
modprobe usb-storage 1>&2 # Kernelmodul für den USB-Stick laden
sleep 5 # 5 Sekunden warten damit der Stick bereit ist
[ -d /dev/mnt ] || mkdir /dev/mnt 1>&2 # Mountpoint ggf. anlegen
mount /dev/sda1 /dev/mnt 1>&2 #USB-Stick einhängen
cat /dev/mnt/key #Schlüssel ausgeben
umount /dev/mnt 1>&2 #USB-Stick aushängen


Um das Chaos zu vervollständigen, die fstab entsprechend anpassen.

E.coli
18.04.09, 22:54
*threadausgrab*

Da ich überlege ebenfalls ein keyfile zu verwenden bin ich auf diesen Thread gestossen und ich glaube ich habe den Fehler von -Haihappen- gefunden.

In Post #12 schreibt er:


Das Skript liegt auf der nicht verschlüsselten Boot-Partition.

In Post #3 schreibt er zu seiner crypttab jedoch:


hda2_crypt /dev/hda2 none luks,keyscript=/root/keyscript


Wird die initrd nun erstellt erwartet sie, dass keyscript in /root zu finden, es liegt jedoch in /boot. Wird das keyscript nicht gefunden, kann es natürlich auch nicht in die initrd mit aufgenommen werden => die initrd wird ohne keyscript erstellt.

nubix
17.07.09, 23:04
Hat nun hierfür jemand eine Lösung gefunden?

-Haihappen-
27.02.11, 20:18
Hallo,
ist zwar schon einige Zeit her, aber wage nun mit squeeze einen neuen Versuch (endlich mal wieder Zeit gefunden :o).
Ich habe bei der Debian-Installation 3 Partitionen erstellt:

1e unverschlüsselte BOOT-Partition
2e verschlüsselte SWAP-Partition (Schlüssel=Zufällig generiert)
3e verschlüsselte Partition auf der sich ein LVM mit Root; Home; .... befindet
(Schlüssel=Passphrase; soll durch key-file ersetzt werden)

Das starten mit einem key-file über USB-Stick klappt nun dank der vorherigen Tipps; allerdings werden beim Hochfahren einige Fehlermeldungen ausgegeben die ich gerne beheben würde und ich bin mir überhaupt nicht mehr sicher ob alle Einträge vollständig/ oder übervollständig sind bzw. ob man einige Sachen nicht eleganter/besser lösen könnte .... :confused:

Zur Übersicht:

/etc/initramfs-tools/modules:


# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
sd_mod
nls_cp437
nls_iso8859_1
aes-x86_64
dm-crypt
dm-mod
sha256
sd_mod
usb_storage


/boot/keyscript.sh


!/bin/sh
modprobe usb-storage 1>&2
sleep 5
[-d /usb ] || mkdir /usb 1>&2
mount -t ext2 /dev/disk/by-uuid/5d676fbe-bbc7-4b8d-8e3a-cd2bebbc0f6c /usb 1>&2
cat /usb/key
umount /usb 1>&2



/etc/cryptab


sda5_crypt /dev/sda5 /dev/urandom cipher=aes-cbc-essiv:sha256,size=256,swap
sda6_crypt UUID=166b2a66-557b-4e31-94de-bb08d5e1122e none luks,keyscript=/boot/keyscript.sh










/etc/default/cryptdisks


# Run cryptdisks initscripts at startup? Default is Yes.
CRYPTDISKS_ENABLE=Yes

# Mountpoints to mount, before cryptsetup is invoked at initscripts. Takes
# mountpoins which are configured in /etc/fstab as arguments. Separate
# mountpoints by space.
# This is useful for keyfiles on removable media. Default is unset.
CRYPTDISKS_MOUNT="/usb"

# Default check script. Takes effect, if the 'check' option is set in crypttab
# without a value.
CRYPTDISKS_CHECK=blkid

# Default precheck script. Takes effect, if the 'precheck' option is set in
# crypttab without a value.
# Default is 'un_blkid' for plain dm-crypt devices if unset here.
CRYPTDISKS_PRECHECK=



Fehlermeldung beim Hochfahren



Sun Feb 27 20:35:39 2011: Setting preliminary keymap...done.
Sun Feb 27 20:35:39 2011: Checking root file system...fsck from util-linux-ng 2.17.2
Sun Feb 27 20:35:39 2011: /dev/mapper/server_haupt-root: clean, 29562/29835264 files, 2109616/119336960 blocks
Sun Feb 27 20:35:39 2011: done.
Sun Feb 27 20:35:39 2011: Starting early crypto disks...mount: can't find /usb in /etc/fstab or /etc/mtab
Sun Feb 27 20:35:39 2011: sda5_crypt (starting)...
Sun Feb 27 20:35:40 2011: script /boot/keyscript.sh is not an executable script skipping ... ^[[33m(warning).^[[39;49m
Sun Feb 27 20:35:40 2011: ^[[31mfailed.^[[39;49m
Sun Feb 27 20:35:40 2011: done.
Sun Feb 27 20:35:40 2011: Cleaning up ifupdown....
Sun Feb 27 20:35:40 2011: Setting up networking....
Sun Feb 27 20:35:40 2011: Loading kernel modules...done.
Sun Feb 27 20:35:40 2011: Setting up LVM Volume Groups Reading all physical volumes. This may take a while...
Sun Feb 27 20:35:40 2011: Found volume group "server_haupt" using metadata type lvm2
Sun Feb 27 20:35:40 2011: 2 logical volume(s) in volume group "server_haupt" now active
Sun Feb 27 20:35:40 2011: .
Sun Feb 27 20:35:40 2011: Starting remaining crypto disks...mount: can't find /usb in /etc/fstab or /etc/mtab
Sun Feb 27 20:35:40 2011: script /boot/keyscript.sh is not an executable script skipping ... ^[[33m(warning).^[[39;49m
Sun Feb 27 20:35:40 2011: ^[[31mfailed.^[[39;49m
Sun Feb 27 20:35:40 2011: done.
Sun Feb 27 20:35:40 2011: Activating lvm and md swap...done.
Sun Feb 27 20:35:40 2011: Checking file systems...fsck from util-linux-ng 2.17.2
Sun Feb 27 20:35:40 2011: /dev/sda1: clean, 228/146016 files, 53282/291840 blocks
Sun Feb 27 20:35:40 2011: /dev/mapper/server_haupt-home: clean, 22/183264 files, 28981/732160 blocks
Sun Feb 27 20:35:40 2011: done.
Sun Feb 27 20:35:40 2011: Mounting local filesystems...done.
Sun Feb 27 20:35:41 2011: Activating swapfile swap...done.
Sun Feb 27 20:35:41 2011: Cleaning up temporary files....
Sun Feb 27 20:35:41 2011: Configuring network interfaces...done.
Sun Feb 27 20:35:41 2011: Starting portmap daemon....
Sun Feb 27 20:35:41 2011: Starting NFS common utilities: statd.
Sun Feb 27 20:35:41 2011: Cleaning up temporary files....
Sun Feb 27 20:35:41 2011: Setting console screen modes.
Sun Feb 27 20:35:41 2011: ^[]R^[[9;30]^[[14;30]Skipping font and keymap setup (handled by console-setup).
Sun Feb 27 20:35:41 2011: Setting up console font and keymap...done.
Sun Feb 27 20:35:42 2011: Setting kernel variables ...done.
Sun Feb 27 20:35:42 2011: INIT: Entering runlevel: 2
Sun Feb 27 20:35:42 2011: Using makefile-style concurrent boot in runlevel 2.
Sun Feb 27 20:35:42 2011: Starting NFS common utilities: statd.
Sun Feb 27 20:35:42 2011: Starting portmap daemon...Already running..
Sun Feb 27 20:35:42 2011: Starting enhanced syslogd: rsyslogd.
Sun Feb 27 20:35:43 2011: Starting ACPI services....
Sun Feb 27 20:35:43 2011: Exporting directories for NFS kernel daemon....
Sun Feb 27 20:35:43 2011: Starting NFS kernel daemon: nfsd mountd.
Sun Feb 27 20:35:43 2011: Starting deferred execution scheduler: atd.
Sun Feb 27 20:35:43 2011: Starting periodic command scheduler: cron.
Sun Feb 27 20:35:44 2011: Starting system message bus: dbus.
Sun Feb 27 20:35:44 2011: Starting Samba daemons: nmbd smbd.
Sun Feb 27 20:35:44 2011: Starting MTA: exim4.
Sun Feb 27 20:35:45 2011: Starting internet superserver: inetd.
Sun Feb 27 20:35:45 2011: Starting OpenBSD Secure Shell server: sshd.
Sun Feb 27 20:35:45 2011: Starting the Winbind daemon: winbind.

DrunkenFreak
27.02.11, 20:50
/boot/keyscript.sh muss ausführbar sein.

Trage deinen USB-Stick in die /etc/fstab ein, damit cryptdisk den auch mounten kann.

-Haihappen-
27.02.11, 21:08
Hallo,
danke für die schnelle Antwort.
Wie gewährleiste ich, dass das script ausführbar ist (habe schon mit chmod 777 jeglich Rechte eingeräumt)?

Außerdem dürfte der Rechner nicht hochfahren wenn es nicht ausführbar wäre, da es ja für die entschlüsselung notwendig ist (deswegen verstehe ich die Meldung beim hochfahren nicht so ganz) :confused:

gropiuskalle
27.02.11, 21:12
(habe schon mit chmod 777 jeglich Rechte eingeräumt)

Dazu mal einen Blick in →diesen Artikel (http://www.dionysopoulos.me/blog/777-the-number-of-the-beast) werfen.

Ausführbarkeit hat mir Ausführungsrechten nichts zu tun. Die Ausführbarkeit kannst Du mit


chmod +x /pfad/zum/skript

erreichen.

DrunkenFreak
27.02.11, 21:14
Es könnte sein, dass /boot zu dem Zeitpunkt mit noexec gemountet ist. Ist aber eigentlich auch unwahrscheinlich.

Ich würde das keyscript.sh ganz weglassen. Der Eintrag 'CRYPTDISKS_MOUNT="/usb"' hängt automatisch das Device ein, welches für /usb in der /etc/fstab hinterlegt ist. Eine Alternative dazu wäre, den Stick selbst als Schlüssel zu verwenden. Also direkt auf /dev/disk/by-uuid/5d676fbe-bbc7-4b8d-8e3a-cd2bebbc0f6c den Schlüssel schreiben ohne das Gerät vorher einzuhängen. In der /etc/crypttab würde dann sowas stehen:



sda6_crypt UUID=166b2a66-557b-4e31-94de-bb08d5e1122e /dev/disk/by-uuid/5d676fbe-bbc7-4b8d-8e3a-cd2bebbc0f6


Edit: chmod 777 impliziert chmod +x

-Haihappen-
27.02.11, 21:35
Hm...
habe die fstab folgendermaßen angepasst (letzter Eintrag):


# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/mapper/server_haupt-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=0a48b8cd-5781-4f77-8415-315859897d3e /boot ext2 defaults 0 2
/dev/mapper/server_haupt-home /home ext4 defaults 0 2
/dev/mapper/sda5_crypt none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/disk/by-uuid/5d676fbe-bbc7-4b8d-8e3a-cd2bebbc0f6c /usb ext2 defaults 0 0






Aber wie muss jetzt die "/etc/cryptab" angepasst werden um das Script wegzulassen (sofern das ohne geht...)?

DrunkenFreak
27.02.11, 22:33
Der Aufbau müßte so sein:


name /dev/device /dein/keyfile options

Hierzu hilft aber auch die manpage von crypttab.

-Haihappen-
27.02.11, 22:50
Bin auf folgendes gestoßen:
(http://ubuntuforums.org/showthread.php?t=555513)
Yes, there is. For any partition *except* the root partition, you need
to make the following changes:

- add the key to the luks-Partitions using cryptsetup luksAddKey
- make an entry for your stick in your fstab, e.g. /media/key
- copy the keyfile to the stick, e.g. to /media/key/keyfile
- change your crypttab to use the keyfile, e.g.
usr-crypt /dev/hda7 /media/key/keyfile luks
- change CRYPTDISKS_MOUNT in /etc/defaults/cryptsetup to include your
USB stick, e.g. CRYPTDISKS_MOUNT="/media/key"
- rebuild your initrd using update-initramfs -u


Außerdem noch:
http://ubuntuforums.org/showthread.php?t=555513

Daraus schließe ich mal, dass es ohne Key-Script bei der Root-Partition nicht geht. Bleibt die Frage des nicht ausführbaren "key-scripts".....

-Haihappen-
28.02.11, 12:05
ERGÄNZUNG:

Habe ein bisschen gesucht und bin auf diesen Beitrag gestoßen: http://www.debianhelp.org/node/6797 (ebenfalls von andreas janssen)

Ich habe daraufhin die Einträge aus der "fstab" und "/etc/default/cryptdisks" entfernt und klappt auch ohne diese; sodass sich folgendes neues Bild ergibt:

/boot/keyscript.sh

#!/bin/sh
modprobe usb-storage 1>&2
sleep 3
[-d /usb ] || mkdir /usb 1>&2
mount -t ext2 /dev/disk/by-uuid/5d676fbe-bbc7-4b8d-8e3a-cd2bebbc0f6c /usb 1>&2
cat /usb/key
umount /usb 1>&2

exit


/etc/crypttab

sda5_crypt /dev/sda5 /dev/urandom cipher=aes-cbc-essiv:sha256,size=256,swap
sda6_crypt UUID=166b2a66-557b-4e31-94de-bb08d5e1122e none luks,keyscript=/boot/keyscript.sh


Boot-Meldung mit eingestecktem Usb-Stick; System fährt hoch

Mon Feb 28 00:55:42 2011: Setting preliminary keymap...done.
Mon Feb 28 00:55:42 2011: Checking root file system...fsck from util-linux-ng 2.17.2
Mon Feb 28 00:55:42 2011: /dev/mapper/server_haupt-root: clean, 29573/29835264 files, 2110091/119336960 blocks
Mon Feb 28 00:55:42 2011: done.
Mon Feb 28 00:55:42 2011: Starting early crypto disks...sda5_crypt (starting)...
Mon Feb 28 00:55:42 2011: script /boot/keyscript.sh is not an executable script skipping ... ^[[33m(warning).^[[39;49m
Mon Feb 28 00:55:42 2011: ^[[31mfailed.^[[39;49m
Mon Feb 28 00:55:42 2011: done.
Mon Feb 28 00:55:43 2011: Cleaning up ifupdown....
Mon Feb 28 00:55:43 2011: Setting up networking....
Mon Feb 28 00:55:43 2011: Loading kernel modules...done.
Mon Feb 28 00:55:43 2011: Setting up LVM Volume Groups Reading all physical volumes. This may take a while...
Mon Feb 28 00:55:43 2011: Found volume group "server_haupt" using metadata type lvm2
Mon Feb 28 00:55:43 2011: 2 logical volume(s) in volume group "server_haupt" now active
Mon Feb 28 00:55:43 2011: .
Mon Feb 28 00:55:43 2011: Starting remaining crypto disks...script /boot/keyscript.sh is not an executable script skipping ... ^[[33m(warning).^[[39;49m
Mon Feb 28 00:55:43 2011: ^[[31mfailed.^[[39;49m
Mon Feb 28 00:55:43 2011: done.
Mon Feb 28 00:55:43 2011: Activating lvm and md swap...done.
Mon Feb 28 00:55:43 2011: Checking file systems...fsck from util-linux-ng 2.17.2
Mon Feb 28 00:55:43 2011: /dev/sda1: clean, 228/146016 files, 53282/291840 blocks
Mon Feb 28 00:55:43 2011: /dev/mapper/server_haupt-home: clean, 26/183264 files, 28985/732160 blocks
Mon Feb 28 00:55:43 2011: done.
Mon Feb 28 00:55:43 2011: Mounting local filesystems...done.
Mon Feb 28 00:55:43 2011: Activating swapfile swap...done.
Mon Feb 28 00:55:44 2011: Cleaning up temporary files....
Mon Feb 28 00:55:44 2011: Configuring network interfaces...Setting kernel variables ...done.
Mon Feb 28 00:55:44 2011: done.
Mon Feb 28 00:55:44 2011: Starting portmap daemon....
Mon Feb 28 00:55:45 2011: Starting NFS common utilities: statd.
Mon Feb 28 00:55:45 2011: Cleaning up temporary files....
Mon Feb 28 00:55:45 2011: Setting console screen modes.
Mon Feb 28 00:55:45 2011: ^[]R^[[9;30]^[[14;30]Skipping font and keymap setup (handled by console-setup).
Mon Feb 28 00:55:45 2011: Setting up console font and keymap...done.
Mon Feb 28 00:55:45 2011: INIT: Entering runlevel: 2
Mon Feb 28 00:55:45 2011: Using makefile-style concurrent boot in runlevel 2.
Mon Feb 28 00:55:45 2011: Starting portmap daemon...Already running..
Mon Feb 28 00:55:45 2011: Starting NFS common utilities: statd.
Mon Feb 28 00:55:46 2011: Starting enhanced syslogd: rsyslogd.
Mon Feb 28 00:55:46 2011: Starting ACPI services....
Mon Feb 28 00:55:46 2011: Exporting directories for NFS kernel daemon....
Mon Feb 28 00:55:46 2011: Starting NFS kernel daemon: nfsd mountd.
Mon Feb 28 00:55:46 2011: Starting deferred execution scheduler: atd.
Mon Feb 28 00:55:46 2011: Starting periodic command scheduler: cron.
Mon Feb 28 00:55:47 2011: Starting system message bus: dbus.
Mon Feb 28 00:55:47 2011: Starting Samba daemons: nmbd smbd.
Mon Feb 28 00:55:47 2011: Starting MTA: exim4.
Mon Feb 28 00:55:47 2011: Starting internet superserver: inetd.
Mon Feb 28 00:55:48 2011: Starting OpenBSD Secure Shell server: sshd.
Mon Feb 28 00:55:48 2011: Starting the Winbind daemon: winbind.


Partitionierung:
http://s5.directupload.net/images/110228/temp/2rsgkmss.jpg (http://s5.directupload.net/file/d/2449/2rsgkmss_jpg.htm)


Bleibt die Frage warum das Skript übersprungen wird aber der Rechner trotzdem startet bzw. warum es als ein "not an executable script" angesehen wird. :?: :?: :?:
"script /boot/keyscript.sh is not an executable script skipping "

gropiuskalle
28.02.11, 12:32
Ja ist das Skript denn nun ausführbar oder nicht?