2

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

3 ответа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;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .