Я хочу записать сценарий, который автоматически шифрует файл с помощью gpg и пароль, который сохраняется в файле.
Я попробовал это:
gpg -c --passphrase-fd 0 file.txt < pass.txt
Когда я выполняю это на сервере Ubuntu 16.04, он шифрует файл, как ожидалось. Когда я выполняю его на рабочем столе Ubuntu 18.04, это просит у меня пароль, с помощью Менеджера паролей модальное диалоговое окно.
Как я могу пропустить диалоговое окно и сделать неинтерактивное шифрование?
Как обходное решение, я сделал это использование openssl вместо gpg:
openssl aes-256-cbc -pass file:pass.txt -e -in file.txt -out file.txt.enc
Я протестировал в своем Lubuntu 18.04 LTS.
Ваша командная строка перестала работать для меня таким же образом, как Вы описываете.
Следующая командная строка работает на меня,
gpg --batch -c --passphrase-file pass.txt file.txt
Посмотрите детали в man gpg
--passphrase-file file Read the passphrase from file file. Only the first line will be read from file file. This can only be used if only one passphrase is supplied. Obviously, a passphrase stored in a file is of questionable security if other users can read this file. Don't use this option if you can avoid it. Note that this passphrase is only used if the option --batch has also been given. This is different from GnuPG version 1.x.