Я хочу что-то зашифровать, не регистрируя какую-либо часть команды оболочки для уничтожения истории. Я не хочу, чтобы пароль или какие-либо имена файлов или команды появлялись в истории оболочки. Как это сделать с помощью AES 256 с SHA2? (Я считаю, что это самая секретная конфигурация сегодня, не так ли?)
3 ответа
8
Лучший способ временно отключить историю - запустить подоболочку с переменной среды 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
3
$ unset HISTFILE
$ cat something | openssl enc -e -aes256 > encrypted-something
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
2
Если имена файлов в командной строке вас беспокоят, вы можете прочитать их из терминала:
read infile; read outfile; cat $infile | openssl enc -e -aes256 > $outfile;