web-dev-qa-db-ja.com

CLIでパスフレーズのgpgプロンプトを作成する方法

GnuPGパッケージgpgの暗号化ツールは、通常のユーザーが呼び出すと、GUIダイアログボックスを使用してパスフレーズを要求しますが、rootが呼び出すと、CLIでプロンプトが表示されます。通常のユーザーによって呼び出された場合でも、CLIを使用する方法。バージョン:GnuPG 1.4.12

30
Mayank Pundir

この種のパスワードプロンプトは、gpg自体ではなく、gpg-agentによって実行されます。

使用するpinentryプログラムをgpg-agentで構成できます。エージェントの起動時とgpg-agent構成ファイルの両方にオプションがあります-マニュアルページをご覧ください。

だから私は2つのオプションを見ます:

  • 希望する方法を使用するようにgpg-agentを構成します
  • Gpg-agentを無効にします。 GPG_AGENT_INFOのように環境変数GPG_AGENT_INFO="" gpg ...の設定を解除することで、単一のgpg呼び出しでそれを行うことができます。以前はgpgに--no-use-agentオプションがありましたが、これは非推奨とマークされており、最近のgpgバージョンでは機能がありません。
12
Skyr

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

2
nink

次の環境変数を設定して、グラフィカルプロンプトを無効にすることができます。

export PINENTRY_USER_DATA="USE_CURSES=1"
0
johipsum