Montar volumes criptografados a partir da linha de comando?

60

Se eu tiver um disco externo criptografado (ou um disco interno que não esteja no fstab), vejo uma entrada para ele no Nautilus - com uma entrada como "X GB Encrypted Volume". Eu posso clicar neste volume e me pedem uma senha para descriptografar e montar o dispositivo.

Mas como faço isso a partir da linha de comando?

Esta página wiki e outros documentos que eu posso encontrar, referem-se apenas aos métodos GUI de descriptografar o dispositivo; mas isso não funcionará no contexto de servidores headless ou logins SSH. Existe uma maneira simples de obter dispositivos para montar em locais automáticos em /media , exatamente como fariam com a GUI?

(Não estou perguntando sobre diretórios pessoais criptografados - estou ciente de ecryptfs-mount-private . Essa pergunta é sobre volumes criptografados adicionais.)

    
por cha 29.09.2011 / 19:10

11 respostas

38

As etapas da resposta do @Georg Schölly não funcionaram para mim, pois após a etapa sudo mount /dev/mapper/my_encrypted_volume /media/my_device , recebi o erro:

mount: unknown filesystem type 'LVM2_member'

Veja o que funcionou ( /dev/sdb5 é a partição no meu disco rígido marcada como crypt-luks ):

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

Os comandos são executados sem sudo . Depois de inserir minha frase secreta de criptografia depois de ser solicitado no primeiro passo, acabei com:

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

De lá eu pude acessar os dados:)

    
por David Planella 08.04.2013 / 15:22
63

Seu volume provavelmente está criptografado com o LUKS. Veja como montá-lo:

Você precisa:

sudo apt-get install cryptsetup

Para descriptografar o volume:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

Agora você pode montá-lo como de costume:

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

Para bloquear o contêiner novamente, ele precisa ser desmontado primeiro:

sudo umount /media/my_device
sudo cryptsetup luksClose my_encrypted_volume

Para colocá-lo automaticamente no local /media , use a ferramenta udisks

sudo udisks --mount /dev/mapper/my_encrypted_volume
    
por Georg Schölly 29.09.2011 / 19:38
16

Se você receber este erro:

mount: unknown filesystem type 'LVM2_member'

executar:

sudo apt-get install lvm2
sudo lvscan

então ative todo o LVM que você vê

sudo vgchange -ay

execute novamente a montagem:

sudo mount /dev/mapper/my_encrypted_volume /media/my_device
    
por taitelman 18.06.2014 / 18:00
10

Um problema que tive, foi grupos de volumes duplicados : Tanto o meu sistema de recuperação quanto o disco a ser recuperado eram sistemas ubuntu com LVM. É por isso que eu tinha dois ubuntu-vg volume groups ( vgdisplay mostraria ambos, cada um com seu próprio UUID, mas eu não conseguia acessar seus volumes lógicos).

Minha solução se baseia na resposta de Georg:

  • Inicialize um live-linux (para que você não execute o nome do grupo de volumes duplicados)
  • sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
  • insira sua senha quando solicitado
  • sudo vgscan agora deve pegar os volumes / grupos contidos.

  • DRAGÕES À FRENTE: NÓS ESTAMOS MUDANDO O NOME DO GRUPO DE VOLUME. VOCÊ NÃO PODERÁ COMEÇAR A MOVIMENTAR DEPOIS!

    use sudo vgrename ubuntu-vg ubuntu-vg2 para renomear o grupo de volumes.

    Se você precisar inicializar esse drive, você pode fazer estes passos novamente, mas renomeie o grupo de volume voltar para o ubuntu-vg. Uma possibilidade diferente é alterar sua configuração de inicialização para o novo vg-name.

Agora que o nome vg duplicado foi resolvido, posso inicializar de volta ao meu sistema normal, refazer o cryptsetup... , vgscan e depois montar o /dev/mapper/ubuntu--vg2-root em qualquer lugar que você desejar.

    
por amenthes 27.04.2014 / 11:07
3

sdb1 aqui é um exemplo que você deve inserir o nome do seu dispositivo, nenhum dos comandos exigirá privilégios de root

desbloquear disco criptografado

udisksctl unlock -b /dev/sdb1

depois de inserir a frase-senha correta, a saída será algo assim: Desbloqueado / dev / sdb1 como / dev / dm-3

depois monte-o em / media /

udisksctl mount -b /dev/dm-3

deve aparecer algo como isto: Montado / dev / dm-3 em / media / yourUserName / sdb

para desmontá-lo

udisksctl unmount -b /dev/dm-3

para bloqueá-lo novamente

udisksctl lock -b /dev/sdb1
    
por D.Snap 28.03.2016 / 07:01
2

Entrei em vários caminhos a partir das respostas anteriores e apenas a combinação das respostas anteriores funcionou para mim. Ele o que eu fiz e o que deu certo, o que deu errado e minha solução.

Eu tenho um disco rígido criptografado LUKS que preciso montar a partir de um USB de inicialização ao vivo para o Ubuntu 15.10 . Para fazer isso eu comecei com o seguinte comando,

udisksctl unlock -b /dev/sda3

onde sda3 é a partição criptografada. Este comando não funcionou comigo e eu não sei por que, então usei o seguinte comando:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

funcionou comigo e eu não precisei instalá-lo como estava na inicialização ao vivo.

Agora, eu preciso montar o HD, e isso não foi uma coisa direta: eu tentei:

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

Mas o segundo comando não funcionou comigo e, portanto, eu tenho que encontrar um trabalho em torno do qual é o seguinte:

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

Esse foi o meu caminho ... mas você pode usar o caminho dev/mapper/ubuntu e depois a guia dupla para ver o restante das opções. Isso montou o HDD como:

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

Então usei o seguinte comando para montá-lo como /media/my_device da seguinte forma:

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

que funcionou bem.

Em resumo

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/
    
por aibrahim 07.06.2017 / 13:59
2

Todas as respostas acima assumiram que o usuário já sabe qual partição é a criptografada. Vindo de alguém que não gosta tanto da linha de comando, eu estava esperando alguma resposta amigável ... Então, meus 2cents aqui.

  1. Abra o aplicativo "discos" do Ubuntu.
  2. Localize o disco rígido montado no painel esquerdo.
  3. Clique na partição que tem "LUKS" em seu nome: assim você pode ver seu ponto de montagem no texto "Dispositivo" abaixo (no meu caso: /dev/sdb4 ).

Depois tentei montá-lo como indicado acima:

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

Mas recebi este erro:

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

Ok, então eu acho que o nautilus já tentou montá-lo (porque ele realmente me acionou a senha enquanto eu conectava o USB, mesmo que ele não mostrasse a árvore descriptografada). No entanto, a mensagem de erro não é realmente útil porque não me diz onde ela já está mapeada / montada. Mas este comando ajuda neste caso:

$ 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! Então é /dev/dm-3 .

No entanto, ao tentar montá-lo, não funciona:

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

Após muitos ajustes, descobri que estava correndo para o problema duplicate volume groups (descrito acima por @amenthes) porque os comandos sudo vgscan -v e sudo vgdisplay mostravam duas entradas com o mesmo nome do grupo de volumes. No entanto, eu encontrei uma maneira melhor de lidar com isso do que seu método (não é necessário inicializar em um LiveCD para renomear volumegroups!), Neste link , que vou citar acima (apenas para o caso de o link ser quebrado ...):

Se você executar ls -la /dev/mapper/ , deverá ver um luks-xxxxxx-xxxxx-xxxx ou algum arquivo desse tipo. Esse é o mapeamento que foi criado quando o Ubuntu solicitou a senha de criptografia com uma caixa de diálogo, mas não conseguiu abri-la (tudo que a caixa de diálogo fez foi chamar luksOpen e mapeá-la para esse arquivo / dev / mapper / luks-xxx). Agora:

  1. Verifique se o seu volume físico está disponível executando o comando sudo pvdisplay . Deve ser / dev / mapper / luks-xxx-whatever.
  2. Obtenha o uuid do volume executando sudo pvs -o +vg_uuid . O uuid será o valor exibido todo o caminho para a direita, contendo 7 valores delimitados por traço. Copie-os em algum lugar, pois vamos usá-los na próxima etapa. NÃO confunda UUIDS e copie o errado. Copie o único para o seu dispositivo atual / dev / mapper / luks-xxx-whatever.
  3. Altere o grupo de volumes do disco antigo executando o seguinte comando sudo vgrename UUIDOFYOURDISKHERE oldhd Você pode alterar o "oldhd" para o que quiser, desde que seja diferente do nome do grupo de volumes do disco atual. A execução desta etapa elimina o conflito com nomes de grupos de volumes, o que permitirá que você disponibilize volumes agora.
  4. Execute o comando vgchange -a y para ativar os volumes.
  5. Crie uma pasta para um ponto de montagem em algum lugar, por exemplo: sudo mkdir /media/<yourUserName>/someDir
  6. Monte: sudo mount /dev/oldhd/root /mnt/oldhd .
  7. Depois de trabalhar com seus arquivos, você deve renomear seu volumegroup de volta para ubuntu-vg se quiser que o volume ainda seja inicializável.
por knocte 19.06.2017 / 03:05
0

Estava procurando o mesmo ...

As mkdir etapas foram minhas razões para procurar mais, também modifiquei policykit para permitir que meu usuário montasse sem perguntar primeiro a senha raiz e depois a senha de volume criptografada, por isso o sudo foi também matam mais.

Minha solução que encontrei foi o uso de gvfs-mount do pacote gvfs-bin . Agora, com um gvfs-mount -d /dev/sda7 , só peço a senha criptografada e ela está montada em /media/VOLUME_LABEL .

    
por user70767 15.06.2012 / 10:57
0

No meu Chromebook com (crouton) Ubuntu Xenial 16.04, acho que quando eu emito:

sudo cryptsetup luksOpen / dev / sda1 meu_encrypted_volume

de acordo com a postagem acima e insira minha frase-senha, recebo "Nenhuma chave disponível com essa frase secreta". No entanto, por acidente eu encontrei (e é muito estranho!) Tudo funciona quando eu adiciono "--debug" ao comando cryptsetup! Eu sou então capaz de montar o volume e acessar os arquivos.

Pedindo ao gerenciador de arquivos Thunar que faça os resultados de montagem "Não autorizado a executar a operação." erro. Eu sou incapaz de descobrir uma maneira de contornar isso, mas desde que eu posso fazer a montagem na linha de comando, isso é um pouco aceitável.

    
por yawlhoo 28.12.2016 / 08:12
0

Ok, então eu tenho uma solução funcional, como discutido anteriormente, o motivo pelo qual você está recebendo mount: unknown filesystem type 'LVM2_member' error é porque por padrão sua máquina linux atribui o mesmo nome VG ao disco rígido externo, portanto toda a partição em HDD externo estão inativos.

Isso é o que você precisa fazer:

  1. desconecte seu disco rígido externo e anote seu UUID interno do VG usando ( sudo vgdisplay command ),
  2. agora conecte seu disco rígido externo e renomeie o grupo VG do seu HDD EXTERNO (não interno, isso quebrará sua caixa) ( vgrename UUID_Number [new-group] ).
  3. Verifique se o novo nome está atualizado no VGdiplay, agora ative o novo VGroup ( vgchange [new_group] -a y ), verifique se todas as partições estão ativadas ( lvscan ).
  4. Agora você deve ver todos os seus partições sob ls /dev/mapper/[new_group] , tudo que você precisa fazer é montar a partição ( mount -t ext4 /dev/mapper/[new_group]-data /zez )
por Zareena Shinwari 13.02.2018 / 12:18
0

Para aqueles de nós que não querem usar uma ferramenta GUI, nem mesmo para determinar qual partição está criptografada.

  • encontre qualquer partição criptografada

    lsblk -lf | grep LUKS
    

    -l solicita o formato "lista" - não precisamos da árvore
    -f mostra o nome do sistema de arquivos também
    nós temos algo como

      

    sdc2 crypto_LUKS b09d6209-......

  • desbloqueia a partição que queremos (no meu caso /dev/sdc2 )

    udisksctl unlock -b /dev/sdc2
    

    -b significa que estamos dando o caminho para um dispositivo de bloco
    depois de inserir a frase-senha, recebemos uma resposta afirmativa com as informações necessárias para a próxima etapa:

      

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

  • monte o dispositivo recém-criado ( dm significa gerenciador de dispositivos )

    udisksctl mount -b /dev/dm-6
    

    Mais uma vez, recebemos uma resposta afirmativa com informações úteis:

      

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

    ( g sendo meu nome de usuário neste sistema, Data é o rótulo que usei para essa partição)

    Pode ser que o seu sistema de desktop / gerenciador de arquivos já tenha montado o dispositivo automaticamente, ou você mesmo tenha feito isso antes. Então você tem algo como

      

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

    Isso não é problema, você pode acessar os dados da partição criptografada de qualquer maneira.

  • acesse os dados: ls /media/g/Data
  • Desmonte o dispositivo novamente (use o mesmo nome usado para montagem, o comando é unmount , não umount :-))

    udisksctl unmount -b /dev/dm-6
    

    Se o dispositivo não estiver ocupado, você receberá

      

    Unmounted /dev/dm-6.

  • Agora bloqueie a partição novamente (você precisa lembrar o nome da partição)

    udisksctl lock -b /dev/sdc2
    

    Você receberá

      

    Locked /dev/sdc2.

  • desligue opcionalmente o disco externo completo

    udisksctl power-off -b /dev/sdc
    

    Com uma área de trabalho gráfica, você pode receber um erro aqui:

      

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

    Nesse caso, você pode usar udisksctl para desmontar as partições, uma a uma, até obter sucesso. O udisksctl power-off não retorna nenhuma mensagem.

por user1721265 16.05.2018 / 19:13