AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1541875
Accepted
boernsen
boernsen
Asked: 2025-02-20 20:30:24 +0800 CST2025-02-20 20:30:24 +0800 CST 2025-02-20 20:30:24 +0800 CST

Como montar um USB criptografado LUKS via GUI usando um arquivo de chave?

  • 772

Criptografei um USB externo com cryptsetup usando ambos, uma senha e um keyfile, no Kubuntu 24.04 e adicionei uma entrada correspondente ao crypttab, mas ao montar via GUI ainda me pedem uma senha. Como posso consertar isso?

A unidade foi criptografada usando os seguintes comandos:

# Preconditions:
# - USB is available as /dev/sda
# - Folder ~/.keyfiles exists
sudo cryptsetup luksFormat /dev/sda
sudo dd if=/dev/urandom of=~/.keyfiles/setup_32g.dat bs=512 count=294
sudo chmod 0400 ~/.keyfiles/setup_32g.dat
sudo chown root:root ~/.keyfiles/setup_32g.dat
sudo cryptsetup luksAddKey /dev/sda ~/.keyfiles/setup_32g.dat
sudo cryptsetup config /dev/sda --label sandisk_32g
sudo cryptsetup luksOpen /dev/sda sandisk_32g
sudo mkfs.ext4 /dev/mapper/sandisk_32g
sudo e2label /dev/mapper/sandisk_32g sandisk_32g
sudo mount /dev/mapper/sandisk_32g /media/$USER/sandisk_32g
sudo chmod 777 /media/$USER/sandisk_32g/.
sudo umount /media/$USER/sandisk_32g

Depois disso, tenho uma senha (keyslot 0) e um arquivo de chave ~/.keyfiles/setup_32g.dat(keyslot 1). luksDump mostra:

$ sudo cryptsetup luksDump /dev/sda
LUKS header information
Version:        2
Epoch:          5
Metadata area:  16384 [bytes]
Keyslots area:  16744448 [bytes]
UUID:           172ea93c-7383-44da-8255-ce7d46856dc8
Label:          sandisk_32g
Subsystem:      (no subsystem)
Flags:          (no flags)

Data segments:
  0: crypt
        offset: 16777216 [bytes]
        length: (whole device)
        cipher: aes-xts-plain64
        sector: 512 [bytes]

Keyslots:
  0: luks2
        Key:        512 bits
        Priority:   normal
        Cipher:     aes-xts-plain64
        Cipher key: 512 bits
        PBKDF:      argon2id
        Time cost:  6
        Memory:     1048576
        Threads:    4
        Salt:       d6 0f b7 bc 68 c5 fc 65 14 56 16 b7 3f e8 f2 f6 
                    91 eb d6 ff bf b8 6d eb de bb e9 59 2f 65 35 be 
        AF stripes: 4000
        AF hash:    sha256
        Area offset:32768 [bytes]
        Area length:258048 [bytes]
        Digest ID:  0
  1: luks2
        Key:        512 bits
        Priority:   normal
        Cipher:     aes-xts-plain64
        Cipher key: 512 bits
        PBKDF:      argon2id
        Time cost:  6
        Memory:     1048576
        Threads:    4
        Salt:       ea 01 89 dd 26 ea 45 3b c5 20 90 c9 01 d9 9d 65 
                    3e 56 df e4 28 b4 81 ce ea e0 6e ae f4 0b c1 50 
        AF stripes: 4000
        AF hash:    sha256
        Area offset:290816 [bytes]
        Area length:258048 [bytes]
        Digest ID:  0
Tokens:
Digests:
  0: pbkdf2
        Hash:       sha256
        Iterations: 260321
        Salt:       b9 cf bc 7b da 79 0d a3 5a d8 e2 ea 45 32 c1 7a 
                    75 18 a6 2e 66 28 7c 49 c3 10 99 e8 84 05 b2 2f 
        Digest:     b6 7b 7d 94 78 19 41 6c 2a 6c b4 9c e9 e5 47 26 
                    cb ee 19 1d 95 7c d2 d1 97 f6 1f 77 ae 63 38 59

O arquivo de chave tem as seguintes permissões:

-r--------  1 root root 150528 Dez 29 16:16 setup_32g.dat

Depois disso, adicionei a seguinte entrada no crypttab:

sandisk_32g  UUID=<removed>  /home/<myname>/.keyfiles/setup_32g.dat luks,noauto

Não adicionei nenhuma entrada relacionada no fstab até agora.

Posso executar sudo cryptdisks_start sandisk_32gsem nenhuma senha (já que tenho direitos sudo) e a unidade fica disponível no gerenciador de arquivos (KDE dolphin), então presumo que o arquivo de chave esteja sendo usado corretamente.

No entanto, quando tento acessar a unidade a partir do gerenciador de arquivos (KDE dolphin) ou do ícone "Discos e Dispositivos" na barra de tarefas diretamente (ou seja, sem chamar cryptdisks_startprimeiro), sou inesperadamente solicitado a fornecer uma senha. Se eu digitar a senha, ele abre corretamente.

Como posso fazer com que o processo de montagem da GUI use o arquivo-chave do crypttab em vez de solicitar a senha?


Tentativa: permissões do arquivo-chave

A princípio, suspeitei que faltavam permissões para o arquivo-chave, mas mesmo atribuindo 777 não mudou nada.

Tentativa: fstab

/dev/mapper/sandisk_32g /media/<myname>/sandisk_32g auto   noatime,users,nofail  0  0

ou

/dev/mapper/sandisk_32g  /media/<myname>/sandisk_32g  ext4  noatime,users,nofail,x-systemd.device-timeout=100ms,x-systemd.automount,x-systemd.idle-timeout=20min  0  0

Se eu adicionar uma das entradas acima ao fstab, o comportamento é inconsistente e irritante. Depois de conectar a unidade USB, ainda sou solicitado a digitar uma senha em cada primeira tentativa no gerenciador de arquivos KDE dolphin. Às vezes, quando cancelo o diálogo e acesso a unidade novamente, ela abre sem nenhum outro prompt (usando o arquivo de chave!). Às vezes, não funciona e o diálogo de senha continua aparecendo. Além disso, a opção "Montar e abrir" da barra de tarefas que aparece sempre pede a senha. Quando tento desmontar a unidade por meio do ícone da barra de tarefas "Discos e unidades", sou solicitado a digitar uma senha de administrador devido à falta de permissões para desmontar. Desmontar via KDE dolphin parece funcionar às vezes, mas continua aparecendo como montado na barra de tarefas, onde o botão "Remover com segurança" parece não responder mais, então nunca posso ter certeza se é seguro desconectar agora.

Tentativa: análise de log

PRECISO DE CONSELHOS AQUI !

Eu esperava encontrar algo relacionado ao uso de sudo journalctl --since "1min ago"or sudo dmesg, mas não encontrei.

Eu ficaria muito grato se alguém pudesse me indicar registros mais relevantes!

Solução alternativa

Curiosamente, sempre que eu digito a senha, não importa se eu usei a barra de tarefas ou o KDE dolphin, tudo funciona perfeitamente, incluindo permissões de desmontagem. Eu me pergunto por que há alguma diferença? Eu poderia ativar a carteira KDE, então selecionar "Lembrar senha" quando solicitado e pular toda a coisa do arquivo de chaves. Quando eu testei isso, ele continuou pedindo a senha. Eu também gostaria de evitar usar a carteira KDE e gerenciar todas as minhas senhas no Keepass.

mount
  • 1 1 respostas
  • 131 Views

1 respostas

  • Voted
  1. Best Answer
    boernsen
    2025-02-24T03:16:14+08:002025-02-24T03:16:14+08:00

    O comportamento difere dependendo do gerenciador de arquivos.

    Ubuntu 24.04.2

    Os passos descritos acima devem funcionar (testado no Ubuntu 24.04.2 Live). Uma entrada fstab não é necessária. Quando a unidade é aberta por meio do gerenciador de arquivos padrão (Nautilus), ela é aberta usando o keyfile do crypttab e nenhum prompt de senha é exibido.

    Kubuntu 24.04.1

    O gerenciador de arquivos padrão do KDE (Dolphin) parece não ter esse recurso. Enviei um relatório de bug em https://bugs.kde.org/show_bug.cgi?id=500548 .

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve