Dê uma olhada em cryptdisks_start e cryptdisks_stop , eles fazem exatamente isso.
# cryptdisks_start <name>
# mount <mountpoint>
...stuff...
# umount <mountpoint>
# cryptdisks_stop <name>
Eu tenho um servidor CentOS 7 virtualizado que precisa montar vários volumes criptografados protegidos por senha. Não consigo mapear automaticamente os dispositivos na inicialização porque não tenho acesso ao console durante o processo de inicialização para inserir a senha de descriptografia. Depois que eu reiniciar o sistema, eu tenho que executar manualmente
cryptsetup luksOpen <device> <name>
para mapear cada dispositivo de bloco subjacente para um dispositivo criptografado. Isso requer manter anotações sobre o UUID de cada dispositivo de bloco subjacente e o nome para o qual ele mapeia. Existe uma maneira fácil de automatizar esse processo? Eu posso adicionar as informações para /etc/crypttab
com a palavra-chave noauto
para evitar que os dispositivos sejam montados na inicialização. No entanto, não consigo usar cryptsetup para usar as informações desse arquivo.
Seria ótimo se houvesse um comando como cryptsetup luksOpen <name>
que leria /etc/crypttab
para encontrar o nome do dispositivo de bloco subjacente (semelhante à maneira como você pode pode mount <mountpoint>
se estiver definido em /etc/fstab
).
Existe alguma maneira de obter o cryptsetup para ler os mapeamentos de /etc/crypttab
?
Dê uma olhada em cryptdisks_start e cryptdisks_stop , eles fazem exatamente isso.
# cryptdisks_start <name>
# mount <mountpoint>
...stuff...
# umount <mountpoint>
# cryptdisks_stop <name>
Eu acho que você quer experimentar com systemd-cryptsetup-generator
.
Normalmente, esse processo é executado durante a inicialização do initramfs, para gerar dinamicamente unidades systemd que descriptografam cada dispositivo de bloco listado em /etc/crypttab
. Você pode, então, iniciar essas unidades sempre que desejar, e você será perguntado por todas as senhas necessárias.
Como esta é uma máquina virtual, você deve ter acesso ao console virtual, o que significa que você pode simplesmente criptografar seus sistemas de arquivos normalmente e fornecer a senha no momento da inicialização. Claro que a segurança dos sistemas de arquivos criptografados é comprometida , simplesmente por ser usada em uma máquina virtual, independentemente de quando você insira a frase secreta.
Você pode usar
sudo systemctl start systemd-cryptsetup@<name>
em vez de
cryptsetup luksOpen UUID=... <name>
quando você tem uma entrada como segue em seu / etc / crypttab:
<name> UUID=... none noauto
Ele solicitará a frase secreta, se necessário.
O arquivo unitário correspondente é gerado automaticamente por systemd-cryptsetup-generator .
Você pode listar todos os arquivos de unidade gerados usando
systemctl list-unit-files| grep systemd-cryptsetup
Tags luks disk-encryption