Preciso de um script bash para originar um arquivo criptografado, pois o arquivo que está sendo originado contém informações confidenciais.
Gostaria que o script solicitasse a senha do GPG e depois executasse, fornecendo o arquivo criptografado. Mas não consigo descobrir como fazer isso. Deve haver entrada do usuário para a senha, pois não quero armazenar uma chave no servidor com o arquivo criptografado.
Analisando alguns métodos diferentes, não quero descriptografar o arquivo, originar o arquivo não criptografado e excluí-lo depois. Gostaria de reduzir a chance de deixar um arquivo não criptografado para trás, se algo desse errado no script.
Existe uma maneira de obter a saída GPG de um arquivo para a fonte dessa maneira? Possivelmente coletando STDOUT e analisando-o (se o GPG puder gerar o conteúdo dessa maneira).
Além disso, se houver outra maneira de criptografar um arquivo que os scripts do shell possam usar, eu não o conheço, mas aberto a outras possibilidades.
fonte
<(command)
.. <(aescrypt -d -o - file.aes)
Se você
gpg-agent
configurou corretamente, usandopinentry-tty
ou alguma outra versão que não polua stdin / stdout, você poderá fazer algo como:Isso usa substituição de processo para alimentar o resultado
source
como se fosse um arquivo. Os dados específicos do arquivo desaparecerão assim que o shell for concluído, embora você ainda precise tomar cuidado com os dados confidenciais na memória do shell.fonte
Como a resposta mais sensata já foi dada, aqui está uma resposta insana - use este sistema de arquivos:
https://github.com/jseppanen/gpgfs
Dessa forma, seu programa não notará que está falando com um pipe.
fonte