Как запустить команды шифрования в Linux без ведения журнала истории оболочки

Я хочу зашифровать что-то, не регистрируя какую-либо часть команды оболочки для bash history. Я не хочу, чтобы пароль или какие-либо имена файлов или команды появлялись в истории оболочки. Как это сделать с помощью AES 256 с SHA2? (Я считаю, что это самая секретная конфигурация сегодня, не так ли?)

3 ответа

Решение
$ unset HISTFILE
$ cat something | openssl enc -e -aes256 > encrypted-something
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

Лучший способ временно отключить историю - запустить подоболочку с HISTSIZE переменная окружения установлена ​​в 0:

HISTSIZE=0 $0
type your commands here
<ctrl-D>

Ведение журнала в исходной оболочке входа остается незатронутым после выхода из подоболочки.

$0 обеспечивает запуск той же оболочки, что и вы. Вы могли бы заменить $0 с путем к любой оболочке, например: /bin/sh,

Это работает с большинством распространенных оболочек, включая bash, ksh, zsh, dash, Я думаю, что это стандарт POSIX.

Вы также можете ввести exit выйти из подоболочки.

пример

$ 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

Если имена файлов в командной строке вас беспокоят, вы можете прочитать их из терминала:

read infile; read outfile; cat $infile | openssl enc -e -aes256 > $outfile;
Другие вопросы по тегам