ติดตั้งวอลลุ่มเข้ารหัสจากบรรทัดคำสั่งหรือไม่


86

ถ้าฉันมีดิสก์ภายนอกที่เข้ารหัส (หรือดิสก์ภายในที่ไม่ได้อยู่ใน fstab) ฉันจะเห็นรายการใน Nautilus - ด้วยรายการเช่น "X GB Encrypted Volume" ฉันสามารถคลิกที่โวลุ่มนี้และได้รับพร้อมท์ให้ใส่รหัสผ่านเพื่อถอดรหัสและติดตั้งอุปกรณ์

แต่ฉันจะทำสิ่งนี้จากบรรทัดคำสั่งได้อย่างไร

หน้าวิกินี้และเอกสารอื่น ๆ ที่ฉันสามารถค้นหาได้อ้างถึงวิธีการ GUI ในการถอดรหัสอุปกรณ์เท่านั้น แต่สิ่งนี้จะไม่ทำในบริบทของเซิร์ฟเวอร์ headless หรือการเข้าสู่ระบบ SSH มีวิธีง่าย ๆ ในการทำให้อุปกรณ์เชื่อมต่อกับตำแหน่งอัตโนมัติ/mediaเช่นเดียวกับที่ใช้กับ GUI หรือไม่?

(ฉันไม่ได้ถามเกี่ยวกับไดเรกทอรีบ้านที่เข้ารหัส - ฉันรู้ecryptfs-mount-privateว่าคำถามนี้เกี่ยวกับไดรฟ์ข้อมูลที่เข้ารหัสเพิ่มเติม)


+1 สำหรับการวาดความแตกต่างระหว่างการเข้ารหัสของระบบไฟล์โดยรวมและไดเรกทอรีบ้านเข้ารหัส
XavierStuvw

อย่างต่อเนื่อง ความแตกต่างได้กลายเป็นเฉพาะตอนนี้ที่ Ubuntu 18.04 ได้ลดการสนับสนุนสำหรับการเข้ารหัสไดเรกทอรีเดียวในความโปรดปรานของการเข้ารหัสดิสก์เต็มตามaskubuntu.com/q/1030572/446253สำหรับบางคนรวมทั้งผมนี้เป็นแหล่งที่มาของความยากลำบากในการย้ายไปยัง 18.04 ต่อเนื่อง
XavierStuvw

คำตอบ:


61

ขั้นตอนในคำตอบของ @Georg Schöllyไม่ได้ผลสำหรับฉันในขณะนี้แม้ว่าพวกเขาจะสามารถใช้งานได้ในขณะนี้ Ubuntu บางรุ่นจะเปิดตัวหลังจากนั้น ย้อนกลับไปหลังจากsudo mount /dev/mapper/my_encrypted_volume /media/my_deviceขั้นตอนที่ฉันได้รับข้อผิดพลาด:

เมานต์: ประเภทระบบไฟล์ที่ไม่รู้จัก 'LVM2_member'

ปลดล็อคและติดตั้งดิสก์ด้วย udiskctl

แต่ฉันใช้udisksctlอินเตอร์เฟสบรรทัดคำสั่งที่โต้ตอบกับudisksdบริการแทน

นี่คือสิ่งที่ใช้งานได้ ( /dev/sdb5เป็นพาร์ติชันบนฮาร์ดดิสก์ของฉันที่ทำเครื่องหมายเป็นcrypt-luks):

udisksctl unlock -b /dev/sdb5
udisksctl mount -b /dev/mapper/ubuntu--vg-root

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

Mounted /dev/dm-1 at /media/dpm/e8cf82c0-f0a3-41b3-ab28-1f9d23fcfa72

จากตรงนั้นฉันสามารถเข้าถึงข้อมูลได้ :)

การล็อกดิสก์ด้วย udiskctl

ถอนติดตั้งอุปกรณ์:

udisksctl unmount -b /dev/mapper/ubuntu--vg-root

คุณจะต้องปิดการใช้งานโลจิคัลวอลุ่มทั้งหมดในubuntu-vgกลุ่มวอลุ่มก่อน มิฉะนั้นคุณจะได้รับข้อผิดพลาดตามบรรทัด 'อุปกรณ์ไม่ว่าง' หากคุณพยายามล็อค ( ข้อมูลเพิ่มเติม ):

sudo lvchange -an ubuntu-vg

จากนั้นคุณจะสามารถล็อคพาร์ติชันที่เข้ารหัสกลับมาได้

udisksctl lock -b /dev/sdb5

หมายเหตุ

  • udisksctlคำสั่งจะดำเนินการได้โดยไม่ต้อง sudo
  • ชื่ออุปกรณ์ mapperคือubuntu--vg-rootการตั้งชื่ออาจจะเปลี่ยนข้ามรุ่นอูบุนตู (เช่นผมเคยเห็นมันเรียกว่าsystem-rootและubuntu-rootมากเกินไป) วิธีง่ายๆในการค้นหาชื่อคือการรันคำสั่งต่อไปนี้หลังจากปลดล็อกพาร์ติชัน LUKS :

    ls -la /dev/mapper

    จากนั้นดูผลลัพธ์ของlsคำสั่งชื่อที่คุณต้องการจะเป็นชื่อที่เชื่อมโยง/dev/dm-1

  • ชื่ออุปกรณ์ mapper ทางเลือก : ทางเลือกในคำสั่งก่อนหน้าคือการเรียกใช้:

    lsblk -e7

    คุณจะสามารถเห็นการจับคู่ชื่ออุปกรณ์เป็นมุมมองแบบต้นไม้ -e 7ตัวเลือกที่จะใช้ในการยกเว้นอุปกรณ์ห่วง (ID 7) สร้างขึ้นโดยยึดติดตั้งได้จากการส่งออก เพียงเพื่อให้มีความยุ่งเหยิงน้อยลง

  • ชื่อโลจิคัลวอลุ่ม : คุณสามารถรันsudo lvsคำสั่งเพื่อค้นหาชื่อของกลุ่มวอลุ่มและโลจิคัลวอลุ่ม
  • แอปดิสก์ : แอปดิสก์ GNOME ไม่ได้ปิดใช้งานโลจิคัลวอลุ่มโดยอัตโนมัติก่อนล็อคพาร์ติชัน แม้ว่าคุณจะปลดล็อคพาร์ติชันได้สำเร็จผ่าน GUI คุณจะต้องไปที่บรรทัดรับคำสั่งและดำเนินการsudo lvchange -an ubuntu-vgคำสั่งก่อนที่คุณจะสามารถล็อคได้จาก GUI

1
ฉันคิดว่านี่เป็นคำตอบที่ดีที่สุดเพราะฉันสงสัยว่านี่จะมากหรือน้อยกว่าที่ nautilus ใช้ libudisks2 นอกจากนี้ฉันได้ทดสอบสิ่งนี้เพื่อให้ทำงานได้ดีในฐานะผู้ใช้ที่ไม่มีสิทธิ์
Jaap Versteegh

9
ฉันโชคไม่ดีที่ได้Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.รับคำแนะนำใด ๆ
wawa

1
@wawa ฉันมีปัญหาเดียวกันและแก้ไขได้ในคำตอบนี้askubuntu.com/a/895508/334823
ราฟาเอล

2
กรอไปข้างหน้า 5 ปีฉันพบว่าตัวเองต้องช่วยพาร์ทิชันที่เข้ารหัสอีกครั้ง ฉันใช้ USB ติด Ubuntu สด 18.04 และทำตามขั้นตอนเดียวกับที่ฉันอธิบายตอนนั้น ก่อนหน้านี้พวกเขาทำงานได้ดีและฉันไม่จำเป็นต้องsudoดำเนินการ
David Planella

1
@Selah ฉันได้ขยายคำตอบเพื่ออธิบายเส้นทางของอุปกรณ์ที่จะใช้สำหรับเมานท์ หากต้องการ mwfearnley: การดูสิทธิ์ของผู้ใช้ที่คุณเข้าสู่ระบบเป็นสิ่งที่ควรคำนึงถึง
David Planella

87

ปริมาณของคุณอาจถูกเข้ารหัสด้วย LUKS ต่อไปนี้เป็นวิธีติดตั้ง:

คุณต้องการ:

sudo apt-get install cryptsetup

ในการถอดรหัสระดับเสียง:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

ตอนนี้คุณสามารถติดตั้งได้ตามปกติ:

sudo mkdir /media/my_device
sudo mount /dev/mapper/my_encrypted_volume /media/my_device

หากต้องการล็อคตู้คอนเทนเนอร์อีกครั้งต้องยกเลิกการต่อเชื่อมก่อน:

sudo umount /media/my_device
sudo cryptsetup luksClose my_encrypted_volume

หากต้องการวางไว้ใน/mediaตำแหน่งโดยอัตโนมัติให้ใช้เครื่องมือ udisks

sudo udisks --mount /dev/mapper/my_encrypted_volume

ดังนั้นฉันจึงไม่สามารถทำมันได้ในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษแม้ว่าฉันจะทำผ่าน GUI ได้หรือไม่
cha

ขึ้นอยู่กับการตั้งค่าระบบของคุณ ฉันเชื่อว่าคำสั่งส่วนใหญ่ควรทำงานตราบใดที่ระบบของคุณให้ผู้ใช้ของคุณเข้าถึงอุปกรณ์ได้
Georg Schölly

1
อูบุนตู 15.04 เรือudisks2แพคเกจในสถานที่และอดีตเปลี่ยนชื่อเครื่องมือudisks udisksctl
skierpage

น่าเสียดายที่ไม่ได้ทำงานกับฉันด้วย Ubuntu 16.04 ภูเขา: ชนิดของระบบแฟ้มที่ไม่รู้จัก 'LVM2_member'
เซลาห์

@Selah: ดูเหมือนว่าคุณกำลังพยายามถอดรหัสสิ่งที่ไม่ใช่โวลุ่ม LUKS /dev/sda1บางทีคุณอาจจะต้องใช้สิ่งอื่นมากกว่า
Georg Schölly

22

หากคุณได้รับข้อผิดพลาดนี้:

mount: unknown filesystem type 'LVM2_member'

วิ่ง:

sudo apt-get install lvm2
sudo lvscan

จากนั้นเปิดใช้งาน LVM ทั้งหมดที่คุณเห็น

sudo vgchange -ay

จากนั้นเรียกใช้การเมานต์ใหม่:

sudo mount /dev/mapper/my_encrypted_volume /media/my_device

7
บรรทัดสุดท้ายนั้นอาจไม่ถูกต้องเนื่องจากคุณอาจยังมีข้อผิดพลาดเดียวกันอยู่ ค่อนข้างติดหนึ่งในไดรฟ์ที่ระบุไว้ด้วย lvscan แทน/dev/mapper/my_encrypted_volume
Weasemunk

สิ่งนี้ไม่ได้ผลสำหรับฉัน ข้อผิดพลาดเดียวกัน: ประเภทระบบไฟล์ที่ไม่รู้จัก 'LVM2_member' อาจเป็นเพราะฉันกำลังบูทจากแฟลชไดรฟ์?
เซลาห์

@SeanScott ขอบคุณมาก ... ฉันใช้ตัวติดตั้งเพื่อเข้ารหัสไดรฟ์ของฉันตอนนี้ฉันกำลังพยายามกู้คืนข้อมูลและต้องเรียนรู้สิ่งเหล่านี้ใหม่ ... d'oh
CameronNemo

13

ปัญหาหนึ่งที่ฉันพบเจอคือกลุ่มวอลุ่มที่ซ้ำกัน : ทั้งระบบกู้คืนของฉันและไดรฟ์ที่จะกู้คืนเป็นระบบอูบุนตูที่มี LVM นี่คือเหตุผลที่ฉันมีubuntu-vgกลุ่มวอลุ่มสองกลุ่ม ( vgdisplayจะแสดงทั้งสองกลุ่มแต่ละกลุ่มมี UUID ของตัวเอง แต่ฉันไม่สามารถเข้าถึงโลจิคัลวอลุ่มของพวกเขาได้)

โซลูชันของฉันสร้างขึ้นจากคำตอบของเฟรดริก:

  • เริ่มระบบ live-linux (เพื่อไม่ให้คุณเรียกใช้ชื่อกลุ่มวอลุ่มซ้ำกัน)
  • sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
  • ป้อนข้อความรหัสผ่านของคุณเมื่อได้รับแจ้ง
  • sudo vgscan ตอนนี้ควรรับปริมาณ / กลุ่มที่มีอยู่

  • ข้างหน้ามังกร: ตอนนี้เรากำลังเปลี่ยนชื่อกลุ่มวอลุ่ม คุณจะไม่สามารถที่จะเริ่มต้นไดรฟ์ที่หลัง!

    ใช้sudo vgrename ubuntu-vg ubuntu-vg2เพื่อเปลี่ยนชื่อกลุ่มวอลุ่ม

    หากคุณต้องการบู๊ตออกจากไดรฟ์นั้นคุณสามารถทำตามขั้นตอนเหล่านี้อีกครั้ง แต่เปลี่ยนชื่อกลุ่มวอลุ่มของคุณกลับเป็น ubuntu-vg ความเป็นไปได้ที่แตกต่างกันคือการเปลี่ยนการตั้งค่าการบูตเป็น vg-name ใหม่

ตอนนี้ที่ซ้ำกัน VG-ชื่อได้รับการแก้ไขที่ฉันสามารถบูตกลับเข้าสู่ระบบปกติของฉัน, ทำซ้ำcryptsetup..., vgscanและจากนั้นติด/dev/mapper/ubuntu--vg2-rootทุกที่ที่คุณต้องการ


2
ดูเหมือนว่าคุณสามารถทำได้sudo vgdispayเพื่อค้นหา UUID และใช้แทนชื่อซ้ำกันเพื่อทำการเปลี่ยนชื่อของโวลุ่มเดียว นั่นคือการคว้า UUID แล้วsudo vgrename <uuid> oldทำงานให้ฉัน
mpontillo

ฉันไม่สามารถทดสอบข้อเสนอแนะของไมค์ได้ในตอนนี้ แต่ถ้าใช้งานได้จะดีกว่าการเปลี่ยนชื่อกลุ่มวอลุ่ม!
amenthes

5

sdb1นี่คือตัวอย่างที่คุณควรป้อนชื่ออุปกรณ์ของคุณคำสั่งนี้จะไม่ต้องใช้สิทธิ์รูท

ปลดล็อคดิสก์ที่เข้ารหัส

udisksctl unlock -b /dev/sdb1

หลังจากใส่ข้อความรหัสผ่านที่ถูกต้องมันจะออกผลลัพธ์ดังนี้: Unlocked / dev / sdb1 as / dev / dm-3

จากนั้นเมานต์ไปที่ / media /

udisksctl mount -b /dev/dm-3

มันควรจะแสดงผลออกมาดังนี้: เมาท์ / dev / dm-3 ที่ / media / yourUserName / sdb

เพื่อยกเลิกการต่อเชื่อม

udisksctl unmount -b /dev/dm-3

เพื่อล็อคอีกครั้ง

udisksctl lock -b /dev/sdb1

2
disksctl mount -b / dev / dm-4 วัตถุ / org / freedesktop / UDisks2 / block_devices / dm_2d4 ไม่ใช่ระบบไฟล์ที่เมาท์ได้
DevilCode

คุณขอโทษที่แก้ปัญหานี้? (ด้วย FS ที่ไม่สามารถติดตั้งได้ ... ขณะที่ฉันกำลังเหมือนกัน)
Oleg Tarasenko

1
ปัญหาเดียวกันให้ดูคำตอบนี้สำหรับบางสิ่งที่เหมาะกับฉันaskubuntu.com/a/895508/334823
raphael

3

คำตอบทั้งหมดข้างต้นถือว่าผู้ใช้รู้อยู่แล้วว่าพาร์ติชั่นใดที่ถูกเข้ารหัส มาจากคนที่ไม่ชอบบรรทัดคำสั่งมากฉันคาดหวังคำตอบที่เป็นมิตรกับผู้ใช้ ... ดังนั้น 2 เซ็นต์ของฉันที่นี่

  1. เปิดแอปพลิเคชั่น "ดิสก์" ของ Ubuntu
  2. ค้นหาฮาร์ดดิสก์ที่ติดตั้งในแผงด้านซ้าย
  3. คลิกที่พาร์ทิชันที่มี "LUKS" ในชื่อของมันด้วยวิธีนี้คุณสามารถเห็นจุดเชื่อมต่อใน "อุปกรณ์" ข้อความด้านล่าง (ในกรณีของฉัน: /dev/sdb4)

จากนั้นฉันพยายามติดตั้งตามคำแนะนำด้านบน:

$ sudo cryptsetup luksOpen /dev/sdb4 someNameForMyVolume
Enter passphrase for /dev/sdb4: 

แต่ได้รับข้อผิดพลาดนี้:

Cannot use device /dev/sdb4 which is in use (already mapped or mounted).

ตกลงดังนั้นฉันเดาว่าหอยโข่งได้ลองเมานต์แล้ว (เพราะจริง ๆ แล้วฉันขอรหัสผ่านเมื่อฉันเชื่อมต่อ USB แม้ว่ามันจะไม่ได้แสดงทรีถอดรหัส) อย่างไรก็ตามข้อความแสดงข้อผิดพลาดไม่เป็นประโยชน์จริง ๆ เพราะไม่ได้บอกฉันว่ามีการแมป / เมาท์อยู่แล้ว แต่คำสั่งนี้จะช่วยในกรณีนี้:

$ udisksctl unlock -b /dev/sdb4
Passphrase: 
Error unlocking /dev/sdb4: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Device /dev/sdb4 is already unlocked as /dev/dm-3

Aha! /dev/dm-3ดังนั้นจึงเป็น

อย่างไรก็ตามเมื่อพยายามติดตั้งมันไม่ทำงาน:

$ udisksctl mount -b /dev/dm-3
Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.

หลังจากแก้ไขมากฉันพบว่าฉันพบduplicate volume groupsปัญหา (อธิบายไว้ข้างต้นโดย @amenthes) เนื่องจากคำสั่งsudo vgscan -vและsudo vgdisplayแสดงรายการสองรายการที่มีชื่อกลุ่มวอลุ่มเดียวกัน อย่างไรก็ตามฉันพบวิธีที่ดีกว่าในการจัดการกับวิธีการของเขา (ไม่จำเป็นต้องบูตเป็น LiveCD เพื่อเปลี่ยนชื่อกลุ่ม volumeg!!) ในลิงค์นี้ซึ่งฉันจะพูดข้างต้น (ในกรณีที่ลิงค์เสีย ... ) :

หากคุณเรียกใช้ls -la /dev/mapper/คุณจะเห็นluks-xxxxxx-xxxxx-xxxxไฟล์ดังกล่าวหรือบางส่วน นั่นคือการแม็พที่สร้างขึ้นเมื่อ Ubuntu แจ้งรหัสผ่านการเข้ารหัสพร้อมกล่องโต้ตอบ แต่ไม่สามารถเปิดได้ (กล่องโต้ตอบทั้งหมดได้โทรluksOpenและแมปไปยังไฟล์ / dev / mapper / luks-xxx) ขณะนี้:

  1. ตรวจสอบให้แน่ใจว่าฟิสิคัลวอลุ่มของคุณพร้อมใช้งานโดยการรันsudo pvdisplayคำสั่ง มันควรจะเป็น / dev / mapper / luks-xxx- อะไรก็ตาม
  2. รับ uuid sudo pvs -o +vg_uuidของไดรฟ์โดยการเรียกใช้ uuid จะเป็นค่าที่แสดงไปทางด้านขวาซึ่งมี 7 ค่าที่มีการคั่นด้วยเส้นประ คัดลอกที่ที่เราจะใช้ในขั้นตอนถัดไป อย่ารบกวน UUIDS และคัดลอกผิด คัดลอกเฉพาะสำหรับอุปกรณ์ / dev / mapper / luks-xxx- ปัจจุบันของคุณ
  3. เปลี่ยนกลุ่มวอลุ่มสำหรับดิสก์เก่าของคุณโดยรันคำสั่งต่อไปนี้sudo vgrename UUIDOFYOURDISKHERE oldhdคุณสามารถเปลี่ยน "oldhd" เป็นสิ่งที่คุณต้องการตราบใดที่มันแตกต่างจากชื่อกลุ่มวอลุ่มของดิสก์ปัจจุบันของคุณ การดำเนินการขั้นตอนนี้จะลบความขัดแย้งกับชื่อกลุ่มวอลุ่มซึ่งจะช่วยให้คุณสามารถทำให้ไดรฟ์ข้อมูลพร้อมใช้งานในขณะนี้
  4. เรียกใช้คำสั่งvgchange -a yเพื่อทำให้ไดรฟ์ข้อมูลใช้งานได้
  5. สร้างโฟลเดอร์สำหรับจุดติดตั้งที่ไหนสักแห่งเช่น: sudo mkdir /media/<yourUserName>/someDir
  6. ติดมัน: sudo mount /dev/oldhd/root /mnt/oldhd.
  7. หลังจากทำงานกับไฟล์ของคุณแล้วคุณควรเปลี่ยนชื่อ volumegroup ของคุณกลับเป็นubuntu-vgหากคุณต้องการให้โวลุ่มยังคงสามารถบูตได้

2

สำหรับพวกเราที่ไม่ต้องการใช้เครื่องมือ GUI แม้กระทั่งเพื่อกำหนดว่าพาร์ทิชันใดถูกเข้ารหัส

  • ค้นหาพาร์ติชันที่เข้ารหัสใด ๆ

    lsblk -lf | grep LUKS
    

    -lร้องขอรูปแบบ "รายการ" - เราไม่ต้องการให้ทรี
    -fแสดงชื่อของระบบไฟล์ด้วย
    เช่นกัน

    sdc2 crypto_LUKS b09d6209-......

  • ปลดล็อกพาร์ติชันที่เราต้องการ (ในกรณีของฉัน/dev/sdc2)

    udisksctl unlock -b /dev/sdc2
    

    -bหมายความว่าเราให้เส้นทางไปยังอุปกรณ์บล็อก
    หลังจากป้อนข้อความรหัสผ่านเราจะได้รับการตอบกลับยืนยันด้วยข้อมูลที่จำเป็นสำหรับขั้นตอนถัดไป:

    Unlocked /dev/sdc2 as /dev/dm-6

  • ติดตั้งอุปกรณ์ที่สร้างขึ้นใหม่ ( dmยืนสำหรับผู้จัดการอุปกรณ์ )

    udisksctl mount -b /dev/dm-6
    

    เราได้รับการตอบกลับที่ยืนยันพร้อมข้อมูลที่เป็นประโยชน์อีกครั้ง:

    Mounted /dev/dm-6 at /media/g/Data.

    ( gเป็นชื่อผู้ใช้ของฉันในระบบนี้Dataเป็นป้ายกำกับที่ฉันใช้สำหรับพาร์ติชันนั้น)

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

    Error mounting /dev/dm-6: GDBus.Error:org.freedesktop.UDisks2.Error.AlreadyMounted: Device /dev/dm-6 is already mounted at '/media/g/Data'.

    ไม่มีปัญหาคุณสามารถเข้าถึงข้อมูลจากพาร์ทิชันที่เข้ารหัสแล้ว

  • เข้าถึงข้อมูล: ls /media/g/Data
  • ยกเลิกการเชื่อมต่ออุปกรณ์อีกครั้ง (ใช้ชื่อเดียวกับที่คุณใช้สำหรับการติดตั้งคำสั่งคือunmount, ไม่ umount :-))

    udisksctl unmount -b /dev/dm-6
    

    หากอุปกรณ์ไม่ว่างคุณจะได้รับ

    Unmounted /dev/dm-6.

  • ตอนนี้ล็อคพาร์ติชันอีกครั้ง (คุณต้องจำชื่อพาร์ติชัน)

    udisksctl lock -b /dev/sdc2
    

    คุณจะได้รับ

    Locked /dev/sdc2.

  • เลือกปิดดิสก์ภายนอกที่สมบูรณ์

    udisksctl power-off -b /dev/sdc
    

    ด้วยเดสก์ท็อปกราฟิกคุณอาจได้รับข้อผิดพลาดที่นี่:

    Error powering off drive: The drive in use: Device /dev/sdc3 is mounted (udisks-error-quark, 14)

    ในกรณีนี้คุณสามารถใช้udisksctlเพื่อยกเลิกการต่อเชื่อมพาร์ติชันทีละตัวจนกว่าคุณจะประสบความสำเร็จ udisksctl power-offไม่กลับข้อความใด ๆ


2

ฉันไปหลายเส้นทางจากคำตอบก่อนหน้านี้และผสมผสานเฉพาะคำตอบก่อนหน้านี้ที่เหมาะกับฉัน เขาสิ่งที่ฉันทำและสิ่งที่ตกลงและสิ่งที่ผิดพลาดและวิธีแก้ปัญหาของฉัน

ฉันมีLUKS เข้ารหัสฮาร์ดดิสก์ที่ฉันต้องการที่จะติดจาก USB บูตสดสำหรับUbuntu 15.10 เมื่อต้องการทำเช่นนั้นฉันเริ่มต้นด้วยคำสั่งต่อไปนี้

udisksctl unlock -b /dev/sda3

โดยที่ sda3 เป็นพาร์ติชั่นที่เข้ารหัส คำสั่งนี้ใช้ไม่ได้กับฉันและฉันไม่แน่ใจว่าทำไมฉันจึงใช้คำสั่งต่อไปนี้:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

มันทำงานร่วมกับฉันและฉันไม่จำเป็นต้องติดตั้งเหมือนที่เคยมีในการบูตสด

ตอนนี้ฉันต้องติดตั้ง HD และนี่ไม่ใช่สิ่งที่ตรงไปตรงมา: ฉันพยายาม:

sudo mkdir /media/my_device
sudo mount /dev/mapper/my_encrypted_volume /media/my_device

แต่คำสั่งที่สองไม่ได้ทำงานกับฉันและด้วยเหตุนี้ฉันต้องค้นหางานที่มีดังต่อไปนี้:

sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root

นั่นคือเส้นทางของฉัน .. แต่คุณสามารถใช้เส้นทางdev/mapper/ubuntuจากนั้นดับเบิลแท็บเพื่อดูตัวเลือกที่เหลือ สิ่งนี้ติดตั้ง HDD เป็น:

Mounted /dev/dm-1 at /media/root/03cf6b80-fa7c-411f-90b9-42a3398529ce

จากนั้นฉันใช้คำสั่งต่อไปนี้เพื่อติดตั้ง/media/my_deviceดังต่อไปนี้:

sudo mount /dev/dm-1 /media/my_device/

ซึ่งทำงานได้ดี

สรุป

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume
sudo mkdir /media/my_device
sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root
sudo mount /dev/dm-1 /media/my_device/

1

คุณสามารถติดมันในสองขั้นตอนและฉันมีตัวอย่างสคริปต์

หมายเหตุ: บริการ udiskctl จะติดตั้งสิ่งต่าง ๆ ภายใต้ / สื่อมันได้รับการออกแบบมากขึ้นสำหรับผู้ใช้เดสก์ท็อปที่ติดตั้ง usb sticks หากคุณต้องการติดตั้งอุปกรณ์ในที่อื่นไม่ใช่โซลูชันที่คุณต้องการ

นี่คือสิ่งที่ฉันทำงานออกมา ในตัวอย่างนี้อุปกรณ์ที่เข้ารหัสของฉันคือพาร์ติชันที่สร้างขึ้นด้วย LVM แต่มันก็ไม่สำคัญ มันเป็นพาร์ติชันที่มีการจัดรูปแบบ ext4 ในรูปแบบเข้ารหัสมันอยู่ที่

/dev/myvg/opt1 

ส่วนที่มีการเข้ารหัสคือ "เปิด" (ถอดรหัส) เช่นนี้

  STEP 1:  sudo cryptsetup luksOpen /dev/myvg/opt1 opt1_opened

(นี่คือที่ที่คุณใส่วลีรหัสผ่าน)

อาร์กิวเมนต์สุดท้ายเป็นการอ้างอิงชั่วคราวไปยังอุปกรณ์บล็อกที่ถอดรหัส 'แมป' จะหายไปเมื่อคุณรีบูตเพื่อให้คุณสามารถเลือกชื่อที่แตกต่างกันในแต่ละครั้งหากคุณต้องการ

ตอนนี้สามารถมองเห็นได้เป็นอุปกรณ์:

ls /dev/mapper
control  myvg-opt1  myvg-root  opt1_opened

คุณสามารถติดอุปกรณ์นี้: ตอนนี้เรามีอุปกรณ์ ext4 เพื่อให้สะดวกเพิ่มบรรทัดใน / etc / fstab

/dev/mapper/opt1_opened /opt1   ext4    noauto,users    0       0

และทำให้จุดเชื่อมต่อ (ในกรณีของฉัน: sudo mkdir /opt1แล้วสิทธิ์การตั้งค่าตามที่คุณต้องการ) หากคุณใช้ชื่อ opt1_opened ในขั้นตอนที่ 1 นี่คือขั้นตอนที่สองในการติดตั้ง:

STEP 2: mount /opt1   #the fstab line lets users mount, so no need for sudo

และมันก็ติดตั้ง

ดังนั้นสคริปต์ทุบตี:

#!/bin/bash
#needs to be run sudo
read -s -p "Enter LUKS password: " luks_password
printf $luks_password | cryptsetup luksOpen /dev/myvg/opt1 opt1_opened --key-file -
sudo -u tim mount /opt1

1

คำตอบที่ถูกต้องคือgio mount -d /dev/dm-x(ไม่ sudo)

คำตอบก่อนหน้าแสดงการยกเลิกการเชื่อมต่อด้วยวิธีการติดตั้ง Nautilus หรือ Nemo เนื่องจากคุณต้องป้อนข้อความรหัสผ่าน LUKS แม้ว่าจะถูกแคชไว้ก่อนหน้านี้ในพวงกุญแจผู้ใช้จาก GUI การgioใช้ข้อความรหัสผ่านที่เก็บไว้ก่อนหน้านี้โดยอัตโนมัติโดย Nautilus หรือ Nemo

สำหรับคำตอบโดยละเอียดเพิ่มเติมดูhttps://unix.stackexchange.com/questions/394320/what-command-does-nemo-use-to-mount-drives/536842#536842


0

กำลังมองหาสิ่งเดียวกัน ...

mkdirขั้นตอนมีเหตุผลของฉันที่จะดูต่อไปยังที่ฉันได้มีการปรับเปลี่ยนpolicykitเพื่อให้ผู้ใช้ของฉันที่จะติดตั้งโดยไม่ต้องขอเป็นครั้งแรกสำหรับ passwd รากแล้วสำหรับรหัสผ่านของปริมาณการเข้ารหัสเพื่อให้sudoยังเป็นมากกว่าฆ่า

วิธีแก้ปัญหาที่ฉันพบคือการใช้gvfs-mountจากgvfs-binแพ็คเกจ ขณะนี้มีฉันขอรหัสผ่านที่เข้ารหัสเท่านั้นและจะติดตั้งอยู่ภายใต้gvfs-mount -d /dev/sda7/media/VOLUME_LABEL


ไม่ได้รับโชคกับสิ่งนี้ ขั้นตอนที่ฉันทำ: ก่อนอื่นcat /proc/partitionsเพื่อระบุ / dev label สำหรับไดรฟ์ ประการที่สองgvfs-mount -d /dev/sdf1. สิ่งนี้ทำให้เกิดข้อผิดพลาด "ไม่มีโวลุ่มสำหรับไฟล์อุปกรณ์ / dev / sdf1" นี่มันดูใกล้ดี!
ชะอำ

มันใช้งานได้สำหรับฉัน ไม่น่าแปลกใจที่ผ่าน/dev/disks/by-labelหรือ/by-uuidแต่โดย/dev/sdxx
Redsandro

ข้อความ "ไม่มีโวลุ่มสำหรับไฟล์อุปกรณ์ / dev / sdf1" จะปรากฏจนกว่าคุณจะลบอุปกรณ์ตาม / etc / fstab หลังจากนั้น gvfs-mount จะทำงานตามที่ได้รับการออกแบบ
dbzix

FYI: gvfs-mount -d /dev/sdaXทำงานได้อย่างสมบูรณ์แบบสำหรับฉันใน Linux Mint 17.3 - ไม่ต้องใช้รหัสผ่านเหมือนกับ GUI
Jonathan Cross

0

ใน chromebook ของฉันด้วย (crouton) Ubuntu Xenial 16.04 ฉันพบว่าเมื่อฉันออก:

sudo cryptsetup luksOpen / dev / sda1 my_encrypted_volume

ตามการโพสต์ข้างต้นและป้อนข้อความรหัสผ่านของฉันฉันจะได้รับ "ไม่มีคีย์สำหรับข้อความรหัสผ่านนี้" อย่างไรก็ตามโดยบังเอิญฉันได้พบ (และแปลกมาก!) สิ่งทั้งหมดทำงานเมื่อฉันเพิ่ม "--debug" คำสั่ง cryptsetup! ฉันสามารถเมานไดรฟ์และเข้าถึงไฟล์ได้

ขอให้ตัวจัดการไฟล์ Thunar ทำผลการติดตั้ง "ไม่ได้รับอนุญาตให้ดำเนินการ" ความผิดพลาด ฉันไม่สามารถหาทางได้ แต่เนื่องจากฉันสามารถติดตั้งที่บรรทัดคำสั่งได้นั่นจึงเป็นที่ยอมรับ


0

ตกลงดังนั้นฉันมีวิธีแก้ปัญหาการทำงานตามที่กล่าวไว้ก่อนหน้าเหตุผลที่คุณได้รับmount: unknown filesystem type 'LVM2_member'ข้อผิดพลาดคือเนื่องจากโดยค่าเริ่มต้นเครื่อง linux ของคุณจะกำหนดชื่อ VG เดียวกันให้กับฮาร์ดไดรฟ์ภายนอกดังนั้นพาร์ติชันทั้งหมดบน HDD ภายนอกจึงไม่ทำงาน

นี่คือสิ่งที่คุณต้องทำ:

  1. ถอดปลั๊กฮาร์ดไดรฟ์ภายนอกออกแล้วจดบันทึก VG UUID ภายในของคุณโดยใช้ ( sudo vgdisplay command)
  2. ตอนนี้เสียบฮาร์ดไดรฟ์ภายนอกของคุณและเปลี่ยนชื่อกลุ่ม VG ของ HDD ภายนอกของคุณ (ไม่ใช่ภายในจะทำให้กล่องของคุณvgrename UUID_Number [new-group]เสียหาย) ( )
  3. ตรวจสอบว่ามีการอัปเดตชื่อใหม่ใน VGdiplay ตอนนี้เปิดใช้งาน VGroup ใหม่ ( vgchange [new_group] -a y) ตรวจสอบพาร์ติชันทั้งหมดที่เปิดใช้งาน ( lvscan)
  4. ตอนนี้คุณควรเห็นพาร์ทิชันทั้งหมดของคุณภายใต้ls /dev/mapper/[new_group]สิ่งที่คุณต้องทำคือติดตั้งพาร์ทิชัน ( mount -t ext4 /dev/mapper/[new_group]-data /zez)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.