นี่คือการกำหนดค่าที่ฉันมี: - ฮาร์ดไดรฟ์ 2 ตัว - อันแรกเข้ารหัสโดยใช้ LUKS และ LVM ฉันต้องการเพิ่มในกลุ่มวอลุ่มที่เข้ารหัสฮาร์ดไดรฟ์ตัวที่สอง ฉันติดตั้งและเข้ารหัสสำเร็จแล้ว แต่เมื่อฉันบู๊ต ฉันต้องป้อนข้อความรหัสผ่าน 2 ข้อความเพื่อถอดรหัสฮาร์ดไดรฟ์ทั้งสอง

มีวิธีใช้อันเดียวไม่ได้หรือ

answer

ในที่สุดฉันก็พบเคล็ดลับในการป้อนรหัสผ่านเพียงรหัสผ่านเดียวและเข้ารหัสดิสก์จริงทั้งหมดของฉัน

ฉันเข้ารหัสอันแรกด้วยข้อความรหัสผ่าน ฉันเข้ารหัสอันที่สองโดยใช้คีย์ไฟล์ที่ฉันจัดเก็บไว้ในฮาร์ดไดรฟ์ตัวแรก (/root/mykeyfile)

และด้วยบรรทัดที่ถูกต้องในไฟล์ /etc/crypttab มันทำเคล็ดลับได้

อัปเดต /etc/crypttab

sda5_crypt UUID=fb07f1e8-a569-4db9-9fd7-fc1994e093b5 ไม่มี luks

sdb1_crypt UUID=4c0687f0-d7af-4f2e-9c57-5ca8e909d492 /root/mykeyfile luks

บน Ubuntu คุณสามารถใช้คีย์ที่ได้รับจากรูทเป็นคีย์เพิ่มเติมบนระบบไฟล์อื่นๆ สิ่งนี้มีประโยชน์ในการรักษาคีย์ของคุณสำหรับไดรฟ์อื่น ๆ ออกจากระบบไฟล์

ก่อนทำสิ่งนี้ ก่อนอื่น ตรวจสอบให้แน่ใจว่า /tmp ติดตั้งบน ram เท่านั้น! ฉันขอแนะนำโหมดผู้ใช้คนเดียวสำหรับการเปลี่ยนแปลงนี้

mount -t ramfs none /tmp

จากนั้น คุณสามารถส่งออกคีย์ที่ได้รับ:

# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key

แล้วเพิ่มไปยังอุปกรณ์อื่นของคุณ:

# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key

สิ่งนี้จะทำให้สคริปต์เริ่มต้นของ Ubuntu สามารถใช้คีย์ที่ได้รับเมื่อรูทถูกปลดล็อคเพื่อปลดล็อกอุปกรณ์บล็อกที่เหลือ และทำให้พร้อมใช้งานในลักษณะเดียวกันภายใต้ /dev/mapper ฉันไม่แน่ใจว่าพวกเขาต้องการรายการ /etc/crypttab หรือไม่ - ลองใช้โดยไม่ใช้ก่อน และหากไม่ปรากฏ ให้ใส่ลงใน crypttab โดยไม่มีคีย์ และควรปลดล็อก

(ฉันยังไม่ได้ทดสอบสิ่งนี้)

ในทางทฤษฎี คุณสามารถตั้งค่าตัวแปรสภาวะแวดล้อมชั่วคราวในสคริปต์การเริ่มระบบแบบกำหนดเอง ซึ่งจะถูกอ้างอิงโดยสคริปต์การเริ่มต้นสำหรับกระบวนการถอดรหัสของคุณ จริง ๆ แล้วฉันทำสิ่งนี้เมื่อสองสามปีก่อน

อีกทางเลือกหนึ่งของคุณคือตัดสคริปต์ init ที่มีอยู่สำหรับฮาร์ดไดรฟ์ของคุณและเขียนสคริปต์ที่กำหนดเองซึ่งป้อนรหัสผ่านของคุณหนึ่งครั้ง จากนั้นจึงดำเนินการตามกระบวนการถอดรหัสทั้งสองขั้นตอน

คุณอาจสามารถขยายโวลุ่ม LVM ไปยังไดรฟ์ที่สองได้ ถ้าฉันจำไม่ผิด การเข้ารหัสควรส่งต่อ

ไม่ ไม่มีทางที่จะทำอย่างนั้นนอกกรอบได้