Ssh

Gentoo Linux GPG 正確加密通過參數傳遞的文件,但在從標準輸入讀取時拋出“Inappropriate ioctl for device”

  • January 22, 2016

我正在使用核心 4.1.7-hardened-r1 執行 Gentoo Hardened,我正在嘗試使用 GPG 從從 SSH 打開的 shell 會話中加密文件,並DISPLAY禁用變數以便使用 pinentry-curses 提示密碼。使用gpg -o file.gpg --symmetric file我可以很好地加密。使用pv file | gpg -o file.gpg --symmetric我收到以下錯誤消息:

gpg-agent[30745]: command get_passphrase failed: Inappropriate ioctl for device

您應該設置您的 GPG_TTY 變數以使其工作,如本文件中所示:

GPG_TTY=$(tty)
export GPG_TTY

這兩行應該在您的.bashrc(假設是 bash)中,因此每次打開新的終端會話時都會執行它們。

不過,還有另一種解決方案:在 bash 中,您可以pv使用程序替換執行您的文件並假裝它是一個文件:

gpg -o file.gpg --symmetric <(pv file)

因此,將內容輸入到需要額外輸入的程序中可能不是一個好主意。它的工作方式可能與預期不同。

引用自:https://unix.stackexchange.com/questions/257061