[gelöst] Keyfile auf verschlüsselter Partition

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] Keyfile auf verschlüsselter Partition

Beitrag von Langly » 20.09.2006 12:13:02

Hallo Forum,

ich scheitere hier gerade daran, meine verschlüsselten Paritionen einzurichten. /home ist schon fertig und problemlos ansprechbar, aber die Probleme fangen eher bei den anderen Partitionen an.

Ich wollte, damit ich beim Booten nicht ständig das gleiche Passwort eingeben muss, für die anderen Paritionen ein Keyfile erstellen, das ich auf dem bereits verschlüsseltem /home ablegen wollte. Aber Pustekuchen, das klappt hinten und vorne nicht und ich bekomme beim Starten immer die Fehlermeldung, dass das Keyfile nicht gefunden wurde. Lege ich es dagegen auf einer unverschlüsselten Parition ab, wird alles ohne Murren eingebunden, aber in dem Moment, in dem das Keyfile unverschlüsselt zugänglich ist, wars das ja auch mit der Sicherheit.

Hat jemand eine Idee, wie sich das lösen ließe?

Nachtrag: /home wird natürlich zuerst eingebunden.
System ist ein frisch installiertes Sarge mit dem Standard-2.6er-Kernel.
Zuletzt geändert von Langly am 22.09.2006 10:05:43, insgesamt 1-mal geändert.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 20.09.2006 14:24:19

Hi,

fuer mich sieht's so aus, als solltest du einfach etwas warten bevor du die weiteren Partitionen mountest. Ich gehe mal davon aus, das er mit /home noch nicht fertig ist, wenn die anderen eingebunden werden sollen.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Langly » 20.09.2006 16:15:27

Die Partitionen sollten an sich eigentlich in der Reihenfolge gemountet werden, die in /etc/crypttab festgelegt ist. Dort steht an erster Stelle ja /home und wird auch zuerst korrekt eingehängt, es bleibt aber trotzdem der Fehler mit dem Keyfile.

Bin für alle Lösungsvorschläge offen.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 20.09.2006 16:21:32

toka hat geschrieben:Die Partitionen sollten an sich eigentlich in der Reihenfolge gemountet werden, die in /etc/crypttab festgelegt ist. Dort steht an erster Stelle ja /home und wird auch zuerst korrekt eingehängt, es bleibt aber trotzdem der Fehler mit dem Keyfile.
Ich kenn's nur von TrueCrypt unter Win, das Einbinden einer verschluesselten Partition dauert da einfach. Wenn Dein Rechner den "zweiten" mount Prozess startet unmittelbar nachdem der erste gestartet wurde (aber noch nicht fertig ist), haettest du das Phaenomen, das du beschreibst.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von goeb » 20.09.2006 16:32:09

Bin mir zwar nicht ganz sicher, aber werden bei der Abarbeitung der /etc/crypttab nicht nur die Mapper-Devices angelegt? Das mounten kommt erst später, d.h. daß die Keyfiles auf einer verschlüsselten Partition noch nicht verfügbar sind wenn das cryptsetup Init-Skript läuft. Abhilfe schafft manuelles Mounten in einer intrd/initramfs.

MfG, goeb

Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Langly » 20.09.2006 17:43:14

Ist auf jeden Fall einen Versuch wert, das mal auszuprobieren, nur leider weiß ich gerade nicht genau, wie du das mit dem manuellen mounten per initrd meinst. Wäre nett, wenn du das noch erläutern könntest. Der Kernel hier wird auf jeden Fall ohnehin mit einer initrd gebootet, aber ich weiß nicht, was ich da in Sachen cryptsetup noch anpassen muss, damit die Paritionen mit Keyfile auch beim Starten eingehängt werden.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 20.09.2006 20:16:23

toka hat geschrieben:Die Partitionen sollten an sich eigentlich in der Reihenfolge gemountet werden, die in /etc/crypttab festgelegt ist.
Hast du das gelesen oder glaubst du das nur?
In der fstab gibt z.B. die letzte Zahl an, wann die Partition gemountet werden soll. Wenn mehrere die selbe Priorität haben, können sie parallel gemountet werden.

Ich würde mal versuchen, die fstab entsprechend anzupassen, dass home vor den anderen gemountet wird.

Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Langly » 21.09.2006 11:18:49

Ehrlich gesagt hatte ich nur angenommen, dass die Partitionen genau in der Reihenfolge der Einträge von crypttab gemountet werden, aber jetzt wo du es sagst könnte es vielleicht doch anders sein. Andererseits fragt er ja auch zuerst nach dem PW für /home, aber das könnte genauso gut beim Anlegen des Devices passieren, während erst später gemountet wird und das Anlegen des nächsten Devices aufgrund des noch nicht vorhandenen Keyfiles scheitert.

Das mit der fstab habe ich in allen möglichen Variationen ausprobiert, aber leider brachte das auch keinen Erfolg. Nach wie vor kommt beim beim Booten die gleiche Fehlermeldung, dass der Key für die zweite Parition nicht gefunden wurde.

Noch jemand eine Idee oder eine Theorie, wie man da Abhilfe schaffen könnte?

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von goeb » 21.09.2006 13:55:17

Joghurt hat geschrieben:In der fstab gibt z.B. die letzte Zahl an, wann die Partition gemountet werden soll. Wenn mehrere die selbe Priorität haben, können sie parallel gemountet werden.
Nö, laut Manpage:
man fstab hat geschrieben:The sixth field, (fs_passno), is used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time. The root filesystem should be specified with a fs_passno of 1, and other filesystems should have a fs_passno of 2. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked.
Du müßtest das Mounten wie gesagt selbst erledigen. Ich hatte etwas von initrd/initramfs geschrieben, dürfte aber gar nicht nötig sein. Du brauchst nur ein Skript was dir /home mountet bevor die Mapper-Devices angelegt werden. Unter /etc/rcS.d haben die cryptdisk-Skripts S26 und S28, also schreib nen kleines Skript das den Mapper für Home anlegt und danach /home mountet, das linkst du dann nach /etc/rcS.d/S25mounthome oder so. Sollte so funktionieren, glaub ich :wink:

MfG, goeb

Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Langly » 21.09.2006 19:48:36

Ha! Das mit dem Mountscript klappt tatsächlich. Ich habe das gerade mal in den Initprozess vor dem Erstellen der Crpytdevices eingebunden, damit /home per Script gemountet wird und deshalb /home aus fstab und crypttab gelöscht. Und siehe da - er fragt beim Booten artig nach dem PW von /home und bindet dann die zweite Parition per Keyfile ein :)

Allerdings bräuchte ich noch ein wenig Hilfe mit dem Script. Meine Scripting-Fähigkeiten sind doch eher rudimentär und ich wusste nicht wie ich dem Script beibringen soll, zuerst das Device anzulegen, abzuwarten, bis ich das PW eingegeben habe und danach das Device korrekt zu mounten.

Kurzerhand habe ich deshalb zwei Script erstellt und beide an Stelle S25 gesetzt. Das Device wird so erstellt:

Code: Alles auswählen

#! /bin/sh
cryptsetup luksOpen /dev/sda7 home
Danach das Mounten:

Code: Alles auswählen

#! /bin/sh
echo /home einhaengen
mount -t ext3 /dev/mapper/home /home
Ist aber wohl eher zweckmäßig. Wie kann ich das in ein einziges Script zusammenfassen?

Danke schonmal für die Hilfe bis hier, ihr habt mir sehr weitergeholfen :)

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von goeb » 21.09.2006 22:22:43

Einfach hintereinander in ein Skript schreiben, oder hat das nicht funktioniert?

MfG, goeb

Langly
Beiträge: 262
Registriert: 15.12.2004 17:19:39
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Langly » 22.09.2006 10:05:06

Oh ja, das funktioniert ja wirklich. Ich hatte angenommen das würde nicht klappen, weil das Mounten nicht mehr ausgeführt wird, da der Rechner ja auf die Eingabe des PW wartet. Ich sage ja, Scripten ist nicht meine Stärke :)

Thema ist erledigt. Vielen Dank an alle, ihr habt mir sehr weitergeholfen :)

Antworten