Bisakah saya memasukkan kata sandi gpg saya sekali saja dan membuka kunci semua kunci sub saya (penandatanganan, dekripsi, otentikasi)?
Saat ini, saya perlu memasukkan kata sandi gpg saya tiga kali (untuk penandatanganan, untuk dekripsi, untuk otentikasi). Ini tidak nyaman.
Saya mencoba membuat skrip shell.
#!/bin/bash
set -x
set -e
set +o history
signing_key=77BB3C48
encryption_key=CE998547
tempfile="$(mktemp)"
echo "test" > testfile
unset passphrase || exit 1
read -sp 'Enter password. ' passphrase ; echo
exec 3<<<"$passphrase"
gpg2 --no-tty --use-agent --batch --yes --passphrase-fd 3 --sign-with "$signing_key" --clearsign "$tempfile"
gpg2 --no-tty --use-agent --verify "$tempfile.asc"
gpg2 --no-tty --use-agent --yes --armor --recipient "$encryption_key" --encrypt "$tempfile"
exec 3<<<"$passphrase"
gpg2 --no-tty --use-agent --batch --decrypt --passphrase-fd 3 "$tempfile.asc"
Namun sayangnya, dengan cara itu kata sandi gnupg-agent tidak men-cache kata sandi. Bisakah ini diperbaiki?
Sistem Informasi:
- Ketika tidak menggunakan skrip shell, saya tidak punya masalah dengan gnupg-agent. Ketika saya secara manual menandatangani / mendekripsi file dalam shell, pinentry meminta kata sandi dua kali, kemudian menyimpannya sampai reboot.
- Menggunakan Debian Wheezy.
- versi gpg:
dpkg -l | grep gnupg
ii gnupg 1.4.12-7+deb7u3 i386 GNU privacy guard - a free PGP replacement
ii gnupg-agent 2.0.22-3 i386 GNU privacy guard - password agent
ii gnupg-curl 1.4.12-7+deb7u3 i386 GNU privacy guard - a free PGP replacement (cURL)
ii gnupg2 2.0.22-3 i386 GNU privacy guard - a free PGP replacement (new v2.x)
Saya sudah bertanya di milis gnupg-pengguna beberapa waktu lalu, tetapi tidak ada jawaban.
Mungkin jawaban ini akan berhasil? Mungkin gpg-connect-agent
diperlukan?
exec 3<<<"$passphrase"
bahkan baru bagi saya ... Dan saya baru saja memberikan hadiah 250 rep pada jawaban yang Anda kutip.