Если у меня есть зашифрованный внешний диск (или внутренний диск, который не находится в fstab), я вижу запись для него в Наутилусе - с записью как "Зашифрованный том на X ГБ". Я могу нажать на этот объем и предложен пароль дешифровать и смонтировать устройство.
Но как я делаю это из командной строки?
Эта страница Wiki и другие документы, которые я могу найти, только обращаются к методам GUI дешифрования устройства; но это не сделает в контексте бездисплейных серверов или логинов SSH. Есть ли простой способ заставить устройства монтироваться к автоматическим местоположениям в /media
точно так же, как они были бы с GUI?
(Я не спрашиваю о зашифрованных корневых каталогах - я знаю ecryptfs-mount-private
. Этот вопрос о дополнительных зашифрованных томах.)
Шаги в ответе @Georg Schölly не работали для меня в то время, хотя они могут работать сейчас, через несколько выпусков Ubuntu после. Тогда, после шага sudo mount / dev / mapper / my_encrypted_volume / media / my_device
я получил ошибку:
mount: unknown file system type 'LVM2_member'
Вместо этого я использовал 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
Оттуда я мог получить доступ к данным:)
Отключите устройство:
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
, чтобы узнать имена групп томов и логических томов sudo lvchange -an ubuntu-vg
, прежде чем вы сможете заблокировать его из графического интерфейса. Ваш том, вероятно, зашифрован с помощью 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
Одна проблема, с которой я столкнулся, заключалась в дублирующихся группах томов : Моя система восстановления и диск, который нужно восстановить, были системы ubuntu с LVM. Вот почему у меня было две группы томов ubuntu-vg
( vgdisplay
отображал обе, каждая со своим собственным UUID, но я не мог добраться до их логических томов).
Мое решение основано на ответе Георга:
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
где угодно.
Я пошел по нескольким путям из предыдущих ответов, и у меня сработала только комбинация предыдущих ответов. Он рассказал о том, что я сделал и что прошло нормально, и что пошло не так, и мой обходной путь.
У меня есть зашифрованный жесткий диск 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/
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
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.
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ġġ.
Искал то же самое ...
Шаги mkdir
были моей причиной искать дальше, также я изменил policykit
на разрешить моему пользователю монтироваться, не запрашивая сначала пароль root, а затем пароль зашифрованного тома, так что sudo
также было over kill.
Мое решение, которое я нашел, заключалось в использовании gvfs- mount
из пакета gvfs-bin
. Теперь с gvfs-mount -d / dev / sda7
меня просят ввести только зашифрованный пароль, и он монтируется в / media / VOLUME_LABEL
.
Хорошо, у меня есть рабочее решение, ребята, как обсуждалось ранее, причина, по которой вы получаете mount: unknown filesystem type 'LVM2_member'
, ошибка в том, что по умолчанию ваша Linux-машина назначает то же имя VG внешнему жесткий диск, следовательно, все разделы на внешнем жестком диске неактивны.
Это то, что вам нужно сделать:
sudo vgdisplay command
), vgrename UUID_Number [new-group]
). vgchange [ new_group] -ay
), проверьте, что все разделы активированы ( lvscan
). ls / dev / mapper / [new_group]
, все, что вам нужно сделать, это
смонтировать раздел ( mount -t ext4 / dev / mapper / [new_group] -data
/ zez
) Вы можете установить его в два этапа, и у меня есть пример сценария.
Примечание: служба 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
На моем Chromebook с (crouton) Ubuntu Xenial 16.04 я обнаружил, что когда я выдаю:
sudo cryptsetup luksOpen / dev / sda1 my_encrypted_volume
согласно вышеупомянутой публикации и введите мою кодовую фразу, Я получаю сообщение «Нет ключа с этой кодовой фразой». Однако случайно я обнаружил (и это очень странно!) Все работает, когда я добавляю "--debug" к команде cryptsetup! После этого я могу смонтировать том и получить доступ к файлам.
Запрос файлового менеджера Thunar на выполнение результатов монтирования «Нет прав для выполнения операции». ошибка. Я не могу придумать способ обойти это, но, поскольку я могу выполнить монтирование из командной строки, это несколько приемлемо.
Если вы получите эту ошибку:
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
Во всех приведенных выше ответах предполагалось, что пользователь уже знает, какой раздел является зашифрованным. Исходя от кого-то, кому не нравится командная строка, я ожидал некоторого удобного ответа ... Итак, мои 2cents здесь.
/ 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 ). Теперь:
sudo pvdisplay
. Это должно быть /dev/mapper/luks-xxx-whatever. sudo pvs -o + vg_uuid
. Uuid будет значением, отображаемым до конца вправо, содержащим 7 значений, разделенных тире. Скопируйте их куда-нибудь, поскольку мы будем использовать их на следующем шаге. НЕ ПУТИТЕ UUIDS И КОПИРУЙТЕ НЕПРАВИЛЬНЫЙ. Скопируйте только тот для вашего текущего устройства / dev / mapper / luks-xxx-any. sudo vgrename UUIDOFYOURDISKHERE oldhd
oldhd "на все, что вы хотите, если оно отличается от имени группы томов вашего текущего диска. Выполнение этого шага устраняет конфликт с именами групп томов, что позволит вам теперь сделать тома доступными. vgchange -ay
, чтобы сделать тома активными. sudo mkdir / media / / someDir
sudo mount / dev / oldhd / root /mnt/oldhd
; , вам следует переименовать группу томов обратно в ubuntu-vg
, если вы хотите, чтобы том оставался загрузочным. Правильный ответ: 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