2013-07-21 57 views
16

gnuPG軟件包gpg的加密工具在由常規用戶調用時使用GUI對話框提示輸入密碼,但是當由root用戶調用時,它會在CLI中提示。即使被普通用戶調用,如何使其使用CLI。 版本:GnuPG 1.4.12如何在CLI上使用gpg提示輸入密碼

回答

10

這種密碼提示不是由gpg本身完成的,而是由gpg-agent完成的。

你可以配置你的gpg-agent應該使用哪個pinentry程序。啓動代理和gpg-agent配置文件時都有選項 - 請查看手冊頁。

所以我看到兩個選項:

  • 配置您的GPG-劑使用所需的方法
  • 禁用GPG-劑;您可以通過取消設置環境變量GPG_AGENT_INFO(如GPG_AGENT_INFO="" gpg ...)來完成單個gpg調用。 gpg曾經有一個--no-use-agent選項,但這已被標記爲廢棄,並且在最近的gpg版本中沒有功能。
+1

我創建〜/ .gnupg/GPG-agent.conf和寫'pinentry-program/usr/bin/pinentry-curses'。 沒有爲我工作! 使用'gpg --no-use-agent'沒有辦法。 –

+0

@MayankPundir這個選項現在已經過時了一段時間;我相應地更新了我的答案。 – Skyr

+0

GPG_AGENT_INFO =「」gpg ...爲我工作, - 沒有使用代理沒有。 Ubuntu 14.04 –

-2

你可以這樣做:

gpg --batch --decrypt --passphrase-fd 0 gpgfile < passphrase-file 
+1

我必須在Ubuntu Linux 14.04上添加'--no-use-agent',否則會出現錯誤gpg:無法在批處理模式下查詢密碼\ ngpg:創建密碼時出錯:無效密碼\ ngpg:對稱加密的[ stdin]'失敗:無效密碼 –

0

您可以設置以下環境變量來禁用圖形提示

export PINENTRY_USER_DATA="USE_CURSES=1" 
+1

在Ubuntu 16.10上不起作用 – Starx

+1

無法在Debian Stretch上運行(gnupg 2.1.18)。 – schlimmchen

相關問題