user-id
ファイル内のパスワードが正しいことを確認したいです。パスワードをファイル(/home/user/.gpg_pass.txt
)に保存してから、次のように使用しました。
gpg --verbose --batch --yes --pinentry-mode loopback \
--passphrase-file=/home/user/.gpg_pass.txt
--decrypt <file>
このコマンドを使用する前に、ファイルのパスワードが正しく入力されていることを確認したいと思います。私はこれを試しましたが役に立ちませんでした:
cat /home/user/.gpg_pass.txt | gpg --dry-run --passwd <key_id>
からman
:gpg
--passwd user-id
Change the passphrase of the secret key belonging to the certificate
specified as user-id. This is a shortcut for the sub-command passwd
of the edit key menu. When using together with the option --dry-run
this will not actually change the passphrase but check that the current
passphrase is correct.
私が入力したとき:
$ gpg --dry-run --passwd <key_id>
パスワードを入力すると、次のウィンドウが2回表示されます。 (間違ったパスワードを入力すると、 Bad Passphrase (try 2 of 3)
GUIコンソールに表示されます。)
┌────────────────────────────────────────────────────────────────┐
│ Please enter the passphrase to unlock the OpenPGP secret key: │
│ "Alper <[email protected]>" │
│ 3072-bit RSA key, ID 86B9E988681A51D1, │
│ created 2021-12-15. │
│ │
│ │
│ Passphrase: __________________________________________________ │
│ │
│ <OK> <Cancel> │
└────────────────────────────────────────────────────────────────┘
コンソール内のGUIにパスワードを手動で入力するのではなく、パイプで接続してgpg --dry-run --passwd <key_id>
出力を返すことで、指定されたパスワードが正しいことを確認できます。
ベストアンサー1
努力する
gpg --batch --pinentry-mode loopback --passphrase-file=/home/user/.gpg_pass.txt --dry-run --passwd your-keyid
マニュアルページにも示すように、これはファイルからパスワードをインポートするオプションです。
スクリプト内でこれを行うには、結果に応じて戻りコードを設定すると想定しているため、戻りコードを確認してください(手動で確認したい場合はほとんどのシェル$?
で)。echo $?