O que você está procurando é provavelmente o utilitário openssl enc
. enc
permite executar várias rotinas de codificação de fluxo. Só funciona em arquivos. No entanto, isso não é um grande problema, só precisamos arquivar o diretório primeiro, usando tar
. Se quisermos criptografar e descriptografar usando AES256:
Criptografando um diretório
-
tar -vcf directory.tar directory/
-
openssl aes256 -salt -in directory.tar -out encrypted_dir.aes256
Descriptografar o diretório
-
openssl aes256 -d -salt -in encrypted_dir.aes256 -out unencrypted.tar
-
tar --one-top-level -xvf unencrypted.tar
(O --one-top-level
flag não é estritamente necessário, mas cria um novo diretório chamado unencrypted
, onde o conteúdo chega, o que é bom ter na minha opinião.)
Se você criptografar e descriptografar o caminho acima, você receberá uma senha. Você também pode usar um arquivo de chave ou similar, basta olhar para man enc
para informações mais detalhadas. Observe também que você sempre deve usar -salt
quando criptografar com uma senha, devido a ataques de dicionário ( -salt
é o padrão, mas não é uma má idéia soletrá-lo para ter certeza).