$ unset HISTFILE
$ cat something | openssl enc -e -aes256 > encrypted-something
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
Eu quero criptografar algo sem registrar qualquer parte do comando shell para bash history. Eu não quero a senha ou qualquer nome de arquivo ou o comando para aparecer no histórico do shell. Como fazer isso usando o AES 256 com SHA2? (Eu acredito que esta é a configuração mais secreta hoje, é?)
A melhor maneira de desativar o histórico temporariamente é iniciar um subshell com a variável de ambiente HISTSIZE definida como 0 :
HISTSIZE=0 $0
type your commands here
<ctrl-D>
O registro de histórico no seu shell de login original permanece inalterado após sair do subshell.
O $0 garante que você inicie o mesmo shell que está usando. Você poderia substituir $0 pelo caminho de qualquer shell, por exemplo: /bin/sh .
Isso funciona com os shells mais comuns, incluindo bash , ksh , zsh , dash . Eu acho que isso é um padrão POSIX.
Você também pode digitar exit para sair da subshell.
$ true 1
$ true 2
$ HISTSIZE=0 $0
$ true 3
$ true 4
$ exit
$ history 4
500 true 1
501 true 2
502 HISTSIZE=0 $0
503 history 4
Se os nomes dos arquivos na linha de comando incomodarem você, você pode lê-los no terminal:
read infile; read outfile; cat $infile | openssl enc -e -aes256 > $outfile;