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).