다음과 같이 gpg-agent를 시작합니다.
eval `gpg-agent --daemon --preset`
그리고 이 터미널 창에서 권장되는 대로 gpg-preset-passphrase 명령을 사용하십시오.
echo secretpassword | /usr/libexec/gpg-preset-passphrase --preset KEYGRIPID
그런 다음 나는이 답변비밀번호가 실제로 올바르게 캐시되었는지 확인하세요.
echo 'GET_PASSPHRASE --no-ask KEYGRIPID Err Pmt Des'|gpg-connect-agent |
perl -pe 's/([0-9a-fA-F]{2})/chr(hex $1)/eg'
지금 gpg를 실행하여 무언가에 서명하거나 암호화하면 비밀번호를 묻는 메시지가 표시됩니다. 이런 일은 일어나서는 안 됩니다.
gpg -u KEYGRIPID --clearsign --batch somefile.txt
<curses-based prompt>
비밀번호를 올바르게 입력하고 gpg-sign 명령을 다시 실행하면 프롬프트가 표시되지 않습니다. 이는 비록 다르지만 비밀번호가 캐시되었음을 나타냅니다.
GPG 버전 2.0.14
답변1
이것은 아니다건반하지만지문열쇠.이것은 참고자료입니다. 원하는 값을 추출하는 데 도움이 되는 추악한 Perl 스크립트는 다음과 같습니다.
gpg -K --fingerprint |
perl -lne '$/="\n\n"' \
-e if ( ($len,$grip,$fp)=/^sec\s+(\w+)\/([0-9A-Z]+).* fingerprint = (.*?)\s+uid\s/ms)' \
-e { $fp =~ s/\s*//g; print "$grip $fp";}'
산출:
EF2141BE 24C5202D6905CB0A5C94AB36134E3618EF6141B8
1BA3D65B 484EE4F3DC2595FAF91F51A9731342954BAFD753
두 번째 열을 복사하여 사전 설정 명령에 전달합니다.
echo secretpassword | /usr/libexec/gpg-preset-passphrase --preset