暗号化された外部ディスク(またはfstabにない内部ディスク)がある場合、Nautilusに「X GB Encrypted Volume」のようなエントリを持つエントリが表示されます。このボリュームをクリックすると、デバイスを復号化してマウントするためのパスワードの入力を求められます。
しかし、コマンドラインからこれをどのように行うのですか?
このwikiページ 、および私が見つけることができる他のドキュメントは、デバイスを復号化するGUIメソッドのみを参照しています。しかし、これはヘッドレスサーバーまたはSSHログインのコンテキストでは実行されません。 GUIの場合と同様に、デバイスを/media
の自動位置にマウントする簡単な方法はありますか?
(暗号化されたホームディレクトリについては質問していません。ecryptfs-mount-private
を認識しています。この質問は、暗号化された追加のボリュームに関するものです。)
@GeorgSchöllyの答えのステップは、当時はうまくいきませんでしたが、今はうまくいくかもしれませんが、Ubuntuのリリースがいくつかあります。当時、Sudo mount /dev/mapper/my_encrypted_volume /media/my_device
ステップの後、エラーが発生しました。
マウント:不明なファイルシステムタイプ 'LVM2_member'
代わりに、udisksctl
サービスと対話するコマンドラインインターフェイスであるudisksd
を使用しました。
動作したものは次のとおりです(/dev/sdb5
はcrypt-luks
とマークされたハードディスク上のパーティションです):
udisksctl unlock -b /dev/sdb5
udisksctl mount -b /dev/mapper/ubuntu-root
最初のコマンドを入力すると、暗号化パスフレーズの入力を求められます。暗号化されたパーティションのロックが解除されると、2番目のコマンドでマウントされます。それが成功した場合、次のメッセージになりますsimilar
Mounted /dev/dm-1 at /media/dpm/e8cf82c0-f0a3-41b3-ab28-1f9d23fcfa72
そこからデータにアクセスできました:)
Sudo
。ubuntu-root
の命名は、Ubuntuの異なるバージョン間で変更される場合があります(たとえば、system-root
と呼ばれることもあります)。名前を見つける簡単な方法は、次のコマンドを実行することですLUKSパーティションのロックを解除した後:
ls -la /dev/mapper
その後、ls
コマンドの出力を見ると、必要な名前は通常、/dev/dm-1
にシンボリックリンクされている名前になります。
udisksctl
を使用することにはマイナス面があります。ロックが解除されると、パーティションは/dev/mapper
のシンボリックリンクとしてマップされます。そのシンボリックリンクの名前がデバイスのUUIDになります。ただし、initramfs-update
などのツールは、シンボリックリンクが/etc/crypttab
の名前と一致することを期待し、シンボリックリンクの名前が変更されない限りエラーを出力します。別の方法として、cryptsetup luksOpen
を使用すると、シンボリックリンク名が正しく設定されるようです。ボリュームはおそらく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
このエラーが発生した場合:
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
私が遭遇した問題の1つは、重複したボリュームグループ:リカバリシステムとリカバリするドライブの両方がLVMを備えたUbuntuシステムでした。これが、2つのubuntu-vg
ボリュームグループがあった理由です(vgdisplay
はそれぞれ独自のUUIDで両方を表示しますが、論理ボリュームにアクセスできませんでした)。
私のソリューションはGeorgの答えに基づいています:
Sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
Sudo vgscan
は、含まれているボリューム/グループを取得するはずです。
将来のドラゴン:ボリュームグループ名を変更しています。 そのドライブを後から起動することはできません!
Sudo vgrename ubuntu-vg ubuntu-vg2
を使用して、ボリュームグループの名前を変更します。
そのドライブから起動する必要がある場合は、これらの手順を再度実行できますが、ボリュームグループbackの名前をubuntu-vgに変更します。別の可能性は、ブート構成を新しいvg-nameに変更することです。
重複したvg-nameが解決されたので、通常のシステムに戻ってcryptsetup...
、vgscan
をやり直し、/dev/mapper/ubuntu--vg2-root
を好きな場所にマウントできます。
sdb1ここにデバイス名を入力する必要がある例があります。このコマンドはどれもルート権限を必要としません
暗号化されたディスクのロックを解除
udisksctl unlock -b /dev/sdb1
正しいパスフレーズを挿入すると、次のように出力されます。nlocked/dev/sdb1 as/dev/dm-
それを/ media /にマウントします
udisksctl mount -b /dev/dm-3
次のような出力になるはずです:Mounted/dev/dm-3 at/media/yourUserName/sdb
アンマウントする
udisksctl unmount -b /dev/dm-3
もう一度ロックする
udisksctl lock -b /dev/sdb1
上記のすべての答えは、ユーザーがどのパーティションが暗号化されているかを既に知っているという仮定を取りました。コマンドラインがあまり好きではない人から来て、ユーザーフレンドリーな答えを期待していました。
/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.
何度もいじくり回した後、コマンドduplicate volume groups
とSudo vgscan -v
が同じボリュームグループ名を持つ2つのエントリを表示していたため、Sudo vgdisplay
問題(@amenthesで説明)に遭遇していることがわかりました。 。しかし、この link で、彼の方法(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を取得します。 uuidは、右端まで表示される値で、ダッシュで区切られた7つの値が含まれます。次のステップで使用するため、これらをどこかにコピーします。 UUIDを混同したり、間違ったものをコピーしたりしないでください。現在の/ dev/mapper/luks-xxx-whateverデバイス用のもののみをコピーしてください。Sudo vgrename UUIDOFYOURDISKHERE oldhd
を実行して、古いディスクのボリュームグループを変更します。「oldhd」は、現在のディスクのボリュームグループ名と異なる限り、任意の名前に変更できます。この手順を実行すると、ボリュームグループ名との競合がなくなり、ボリュームを使用できるようになります。vgchange -a y
を実行して、ボリュームをアクティブにします。Sudo mkdir /media/<yourUserName>/someDir
Sudo mount /dev/oldhd/root /mnt/oldhd
。ubuntu-vg
に戻す必要があります。どのパーティションが暗号化されているかを判断するためにも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
、notumount
:-))
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
を使用して、成功するまでパーティションを1つずつアンマウントできます。 udisksctl power-off
はメッセージを返しません。
私は以前の回答からいくつかのパスに入りましたが、以前の回答の組み合わせだけが私にとってはうまくいきました。彼は私がしたこと、何がうまくいったのか、何がうまくいかなかったのか、そして私の回避策。
LUKS暗号化されたハードディスクがあります--buntu 15.1のためにライブブートUSBからマウントする必要があります。そのためには、次のコマンドから始めました。
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
しかし、2番目のコマンドは機能しませんでした。そのため、次のような回避策を見つける必要があります。
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/
2つの手順でマウントでき、スクリプトの例があります。
注: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
、そして必要に応じてアクセス許可を設定します)手順1で名前opt1_openedを使用した場合、これはマウントする2番目の手順です。
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
(crouton)Ubuntu Xenial 16.04を使用したChromebookでは、次のコマンドを発行すると次のことがわかります。
Sudo cryptsetup luksOpen/dev/sda1 my_encrypted_volume
上記の投稿ごとにパスフレーズを入力すると、「このパスフレーズで使用可能なキーがありません」というメッセージが表示されます。しかし、偶然に、私はcryptsetupコマンドに「--debug」を追加すると、すべてが機能することを発見しました(そして非常に奇妙です!)。これで、ボリュームをマウントしてファイルにアクセスできます。
ファイルマネージャーThunarにマウント結果の実行を依頼する「操作を実行する権限がありません。」エラー。私はそれを回避する方法を理解することはできませんが、コマンドラインでマウントを行うことができるので、それはいくぶん受け入れられます。
正解はgio mount -d /dev/dm-x
(Sudoなし)です。
以前の回答では、NautilusまたはNemoのマウント方法との切断が示されています。これは、以前GUIからユーザーキーリングにキャッシュされていたLUKSパスフレーズを入力する必要があるためです。 gio
を使用すると、NautilusまたはNemoによって以前に保存されたパスフレーズが自動的に使用されます。
より詳細な回答については、 https://unix.stackexchange.com/questions/394320/what-command-does-nemo-use-to-mount-drives/536842#536842 を参照してください
わかりました、だから私は前に議論したように、あなたがmount: unknown filesystem type 'LVM2_member'
エラーを取得している理由は、Linuxマシンが同じVG名を外部ハードドライブに割り当てるため、外部HDD上のすべてのパーティションが非アクティブ。
これはあなたがする必要があることです:
Sudo vgdisplay command
)を使用して内部VG UUIDをメモします。vgrename UUID_Number [new-group]
)。vgchange [new_group] -a y
)をアクティブにし、すべてのパーティションがアクティブになっていることを確認します(lvscan
)。ls /dev/mapper/[new_group]
の下にすべてのパーティションが表示されるはずです。必要なのは、パーティションをマウントすることだけです(mount -t ext4 /dev/mapper/[new_group]-data /zez
)