GnuPGパッケージgpgの暗号化ツールは、通常のユーザーが呼び出すと、GUIダイアログボックスを使用してパスフレーズを要求しますが、rootが呼び出すと、CLIでプロンプトが表示されます。通常のユーザーによって呼び出された場合でも、CLIを使用する方法。バージョン:GnuPG 1.4.12
この種のパスワードプロンプトは、gpg自体ではなく、gpg-agentによって実行されます。
使用するpinentryプログラムをgpg-agentで構成できます。エージェントの起動時とgpg-agent構成ファイルの両方にオプションがあります-マニュアルページをご覧ください。
だから私は2つのオプションを見ます:
GPG_AGENT_INFO
のように環境変数GPG_AGENT_INFO="" gpg ...
の設定を解除することで、単一のgpg呼び出しでそれを行うことができます。以前はgpgに--no-use-agent
オプションがありましたが、これは非推奨とマークされており、最近のgpgバージョンでは機能がありません。Debianボックスでは:
Sudo apt install pinentry-tty
Sudo update-alternatives --config pinentry
(それをpinentry-ttyに設定します)
Gpgの新しいバージョン> = 2.xでは、これを使用できます
stty -echo; gpg --passphrase-fd 0 --pinentry-mode loopback --decrypt filename; stty echo
Sttyは、入力したパスワードがエコーされないようにします。 sshを実行するデスクトップワークステーションについては、設定をいじるよりも少しスムーズです。
ただし、必要なのはpinentry Sudo apt install pinentry-curses
またはおそらくSudo apt install pinentry
必要なのは--no-use-agent
。
次の環境変数を設定して、グラフィカルプロンプトを無効にすることができます。
export PINENTRY_USER_DATA="USE_CURSES=1"