Смонтировать зашифрованные тома из командной строки?

Если у меня есть зашифрованный внешний диск (или внутренний диск, который не находится в fstab), я вижу запись для него в Наутилусе - с записью как "Зашифрованный том на X ГБ". Я могу нажать на этот объем и предложен пароль дешифровать и смонтировать устройство.

Но как я делаю это из командной строки?

Эта страница Wiki и другие документы, которые я могу найти, только обращаются к методам GUI дешифрования устройства; но это не сделает в контексте бездисплейных серверов или логинов SSH. Есть ли простой способ заставить устройства монтироваться к автоматическим местоположениям в /media точно так же, как они были бы с GUI?

(Я не спрашиваю о зашифрованных корневых каталогах - я знаю ecryptfs-mount-private. Этот вопрос о дополнительных зашифрованных томах.)

108
задан 16 May 2018 в 20:21

13 ответов

Шаги в ответе @Georg Schölly не работали для меня в то время, хотя они могут работать сейчас, через несколько выпусков Ubuntu после. Тогда, после шага sudo mount / dev / mapper / my_encrypted_volume / media / my_device я получил ошибку:

mount: unknown file system type '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 .
  • Имена устройств сопоставления : ubuntu - vg-root название может меняться в разных версиях Ubuntu (например, я видел, что он называется system-root и ubuntu-root тоже). Легкий способ узнать имя - выполнить следующую команду после разблокировки раздела LUKS :

    ls -la / dev / mapper

    Затем просмотрите вывод ls , имя, которое вам понадобится, обычно будет тем, которое символически связано с / dev / dm-1

  • Имена сопоставителей устройств, альтернатива : альтернативой предыдущей команде является запуск:

    lsblk -e7

    Здесь вы сможете увидеть отображение имен устройств в виде дерева. Параметр -e 7 используется для исключения петлевых устройств (ID 7), созданных установленными привязками, из вывода. Просто чтобы было меньше беспорядка.

  • Имена логических томов : вы можете запустить команду sudo lvs , чтобы узнать имена групп томов и логических томов
  • Приложение дисков : Приложение GNOME Disks не отключает автоматически логические тома перед блокировкой раздела. Даже если вы успешно разблокировали раздел через графический интерфейс, вам нужно будет перейти в командную строку и выполнить команду sudo lvchange -an ubuntu-vg , прежде чем вы сможете заблокировать его из графического интерфейса.
87
ответ дан 16 May 2018 в 20:21

Ваш том, вероятно, зашифрован с помощью 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

Чтобы автоматически поместить его в место /медиа, воспользуйтесь утилитой udisks tool

sudo udisks --mount /dev/mapper/my_encrypted_volume
104
ответ дан 16 May 2018 в 20:21

Одна проблема, с которой я столкнулся, заключалась в дублирующихся группах томов : Моя система восстановления и диск, который нужно восстановить, были системы ubuntu с 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-name разрешено, я могу загрузиться обратно в свою обычную систему, повторить cryptsetup ... , vgscan , а затем смонтируйте / dev / mapper / ubuntu - vg2-root где угодно.

14
ответ дан 16 May 2018 в 20:21

Я пошел по нескольким путям из предыдущих ответов, и у меня сработала только комбинация предыдущих ответов. Он рассказал о том, что я сделал и что прошло нормально, и что пошло не так, и мой обходной путь.

У меня есть зашифрованный жесткий диск 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 , а затем двойную вкладку, чтобы увидеть остальные параметры. Это смонтировало жесткий диск как:

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/
2
ответ дан 16 May 2018 в 20:21

sdb1 вот пример, вы должны ввести имя вашего устройства, ни одна из этих команд не потребует прав суперпользователя

разблокировать зашифрованный диск

udisksctl unlock -b /dev/sdb1

после ввода правильной парольной фразы будет выведено что-то вроде этого: Разблокирован / dev / sdb1 как / 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
7
ответ дан 16 May 2018 в 20:21

Għal dawk minna li ma jridux jużaw għodda GUI anke biex jiddeterminaw liema partizzjoni hija kriptata.

  • sib xi ħitan kriptati

     lsblk -lf |  grep LUKS
     

    -l jitlob il-format "lista" - m'għandniex bżonn is-siġra
    -f jurina l-isem tas-sistema tal-fajls ukoll
    niksbu xi ħaġa bħal

    sdc2 crypto_LUKS b09d6209 -......

  • nisfruttaw il-partizzjoni li rridu (fil-każ tiegħi / dev / sdc2 )

     udisksctl unlock -b / dev  / sdc2
     

    -b tfisser li qed nagħtu t-triq għal apparat blokka
    wara li ddaħħal il-passphrase nirċievu risposta affermattiva bl-informazzjoni meħtieġa għall-pass li jmiss:

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

  • immonta l-apparat li għadu kemm inħoloq ( dm stand għal maniġer tal-apparat )

     udisksctl mount -b / dev / dm-6
     

    Għal darb'oħra niksbu tweġiba affermattiva b'informazzjoni utli:

    Immuntat / dev / dm-6 fuq /media/g/Data.

    ([11112164[g li hu l-username tiegħi fuq din is-sistema, Dejta hija t-tikketta li użajt għal dik il-partizzjoni)

    Jista 'jkun il-każ li s-sistema tad-desktop / il-file manager tiegħek diġà mmuntat l-apparat awtomatikament, jew għamiltha int stess qabel. Imbagħad ikollok xi ħaġa bħal

    Error immuntar / dev / dm-6: GDBus.Error: org.freedesktop.UDisks2.Error.AlreadyMounted: Apparat / dev / dm-6 huwa diġà mmuntat fuq '/ media / g / Data'

    Din mhix problema, tista 'taċċessa d-dejta mill-partizzjoni kriptata xorta waħda.

  • taċċessa d-dejta: ls / media / g / Data
  • erġa' mmonta l-apparat (uża l-istess isem int użat għall-immuntar, il-kmand huwa unmount , mhux umount :-))

     udisksctl unmount -b / dev / dm-6
     

    Jekk it-tagħmir ma jkunx okkupat ikollok

    Undevounted /dev/dm-6.

  • Issa ssakkar il-partizzjoni mill-ġdid (għandek tiftakar l-isem tal-partizzjoni)

     udisksctl lock -b / dev / sdc2
     

    Int ser tirċievi

    Imblukkat /dev/sdc2.

  • b 'saħħtu tintefa' d-diska esterna sħiħa

     udisksctl power-off -b / dev / sdc
     

    Bi desktop grafiku jista 'jkollok żball hawn:

    Żball meta tintefa' d-drajv: Id-drajv li qed jintuża: Apparat / dev / sdc3 huwa mmuntat (udisks-error-quark, 14)

    F'dak il-każ int tista 'tuża udisksctl biex tneħħi l-partizzjonijiet waħda waħda sakemm tirnexxi. Il- udisksctl power-off ma jirritorna l-ebda messaġġ.

2
ответ дан 16 May 2018 в 20:21

Искал то же самое ...

Шаги mkdir были моей причиной искать дальше, также я изменил policykit на разрешить моему пользователю монтироваться, не запрашивая сначала пароль root, а затем пароль зашифрованного тома, так что sudo также было over kill.

Мое решение, которое я нашел, заключалось в использовании gvfs- mount из пакета gvfs-bin . Теперь с gvfs-mount -d / dev / sda7 меня просят ввести только зашифрованный пароль, и он монтируется в / media / VOLUME_LABEL .

1
ответ дан 16 May 2018 в 20:21

Хорошо, у меня есть рабочее решение, ребята, как обсуждалось ранее, причина, по которой вы получаете mount: unknown filesystem type 'LVM2_member' , ошибка в том, что по умолчанию ваша Linux-машина назначает то же имя VG внешнему жесткий диск, следовательно, все разделы на внешнем жестком диске неактивны.

Это то, что вам нужно сделать:

  1. отключите внешний жесткий диск и запишите свой внутренний VG UUID с помощью ( sudo vgdisplay command ),
  2. теперь подключите внешний жесткий диск диск и переименуйте группу VG вашего ВНЕШНИЙ HDD (не внутренний, это сломает вашу коробку) ( vgrename UUID_Number [new-group] ).
  3. Убедитесь, что новое имя обновлено в VGdiplay, теперь активируйте новую VGroup ( vgchange [ new_group] -ay ), проверьте, что все разделы активированы ( lvscan ).
  4. Теперь вы должны увидеть все свои разделы под ls / dev / mapper / [new_group] , все, что вам нужно сделать, это смонтировать раздел ( mount -t ext4 / dev / mapper / [new_group] -data / zez )
0
ответ дан 16 May 2018 в 20:21

Вы можете установить его в два этапа, и у меня есть пример сценария.

Примечание: служба udiskctl будет монтировать вещи в / media, она больше предназначена для пользователей настольных компьютеров, монтирующих USB-накопители. Если вы хотите установить устройство в другом месте, это не то решение, которое вам нужно.

Вот что я придумал. В этом примере мое зашифрованное устройство представляет собой раздел, созданный с помощью 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

, и он монтируется.

Следовательно, сценарий bash:

#!/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
2
ответ дан 16 May 2018 в 20:21

На моем Chromebook с (crouton) Ubuntu Xenial 16.04 я обнаружил, что когда я выдаю:

sudo cryptsetup luksOpen / dev / sda1 my_encrypted_volume

согласно вышеупомянутой публикации и введите мою кодовую фразу, Я получаю сообщение «Нет ключа с этой кодовой фразой». Однако случайно я обнаружил (и это очень странно!) Все работает, когда я добавляю "--debug" к команде cryptsetup! После этого я могу смонтировать том и получить доступ к файлам.

Запрос файлового менеджера Thunar на выполнение результатов монтирования «Нет прав для выполнения операции». ошибка. Я не могу придумать способ обойти это, но, поскольку я могу выполнить монтирование из командной строки, это несколько приемлемо.

0
ответ дан 16 May 2018 в 20:21

Если вы получите эту ошибку:

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
27
ответ дан 16 May 2018 в 20:21

Во всех приведенных выше ответах предполагалось, что пользователь уже знает, какой раздел является зашифрованным. Исходя от кого-то, кому не нравится командная строка, я ожидал некоторого удобного ответа ... Итак, мои 2cents здесь.

  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).

Хорошо, поэтому я думаю, что nautilus уже пытался смонтировать его (потому что он действительно запрашивал у меня пароль, поскольку я подключил 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

Ага! Итак, это / dev / dm-3 .

Однако при попытке смонтировать это не работает:

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

После долгих попыток я обнаружил, что наткнулся на проблема с дублированными группами томов (описанная выше @amenthes), потому что команды sudo vgscan -v и sudo vgdisplay отображали две записи с одинаковым именем группы томов. Однако я нашел лучший способ справиться с этим, чем его метод (не нужно загружаться с LiveCD для переименования групп томов!), В этой ссылке , которую я процитирую выше (на всякий случай эта ссылка становится неработоспособным ...):

Если вы запустите ls -la / dev / mapper / , вы должны увидеть luks-xxxxxx-xxxxx-xxxx или другой подобный файл. Это сопоставление, которое было создано, когда Ubuntu запросила пароль шифрования в диалоговом окне, но не смогла его открыть (все, что в диалоговом окне было сделано, это вызвать luksOpen и сопоставить его с этим файлом / dev / mapper / luks-xxx ). Теперь:

  1. Убедитесь, что ваш физический том доступен, выполнив команду sudo pvdisplay . Это должно быть /dev/mapper/luks-xxx-whatever.
  2. Получите uuid тома, запустив sudo pvs -o + vg_uuid . Uuid будет значением, отображаемым до конца вправо, содержащим 7 значений, разделенных тире. Скопируйте их куда-нибудь, поскольку мы будем использовать их на следующем шаге. НЕ ПУТИТЕ UUIDS И КОПИРУЙТЕ НЕПРАВИЛЬНЫЙ. Скопируйте только тот для вашего текущего устройства / dev / mapper / luks-xxx-any.
  3. Измените группу томов для своего старого диска, запустив следующую команду sudo vgrename UUIDOFYOURDISKHERE oldhd oldhd "на все, что вы хотите, если оно отличается от имени группы томов вашего текущего диска. Выполнение этого шага устраняет конфликт с именами групп томов, что позволит вам теперь сделать тома доступными.
  4. Выполните команду vgchange -ay , чтобы сделать тома активными.
  5. Создайте папку для точки монтирования. где-нибудь, например: sudo mkdir / media / / someDir
  6. Смонтируйте его: sudo mount / dev / oldhd / root /mnt/oldhd; , вам следует переименовать группу томов обратно в ubuntu-vg , если вы хотите, чтобы том оставался загрузочным.
9
ответ дан 16 May 2018 в 20:21

Правильный ответ: gio mount -d / dev / dm-x (без sudo).

Предыдущие ответы показывают отключение от способа Nautilus или Nemo. монтирование, так как вам нужно ввести парольную фразу LUKS, даже если она ранее была кэширована в связке ключей пользователя из графического интерфейса. Использование gio автоматически использует кодовую фразу, ранее сохраненную Nautilus или Nemo.

Для более подробного ответа см. https://unix.stackexchange.com/questions/394320/what-command- does-nemo-use-to-mount -rive / 536842 # 536842

2
ответ дан 22 November 2019 в 23:08

Другие вопросы по тегам:

Похожие вопросы: