gpg 비밀번호를 한 번만 입력하고 모든 하위 키 (서명, 암호 해독, 인증)를 잠금 해제 할 수 있습니까?
현재 gpg 비밀번호를 세 번 입력해야합니다 (서명, 암호 해독, 인증). 불편합니다.
쉘 스크립트를 생각해 보았습니다.
#!/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"
그러나 불행히도 암호 gnupg-agent는 암호를 캐시하지 않습니다. 이 문제를 해결할 수 있습니까?
시스템 정보:
- 해당 쉘 스크립트를 사용하지 않으면 gnupg-agent에 문제가 없습니다. 쉘에서 파일을 수동으로 서명 / 암호 해독하면 pinentry가 암호를 두 번 요청한 다음 재부팅 할 때까지 캐시합니다.
- 데비안 Wheezy 사용하기.
- 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)
gnupg-users 메일 링리스트에서 얼마 전에 물어 봤지만 답장은 없습니다.
아마도 이 대답은 일 것인가? 아마도 gpg-connect-agent
필요할까요?
답변
이 그놈 – 키링 – 데몬 및 해마 매우 쉬운 키 및 암호 관리를한다.
기본적으로 그놈 키링 데몬을 gpg 에이전트로 실행하는 경우 GPG 키를 자동으로 잠금 해제 할 수 있습니다. 웹 사이트, GPG 키, SSH 키 등과 같은 암호를 포함하는 암호 키 링을 유지하여이를 수행합니다. 그런 다음이 암호 키 링은 자체 암호로 보안됩니다. 따라서 잠금을 해제하면 그놈 키링이 다른 모든 것을 잠금 해제합니다.
추가로 gnome-keyring-daemon에는 “로그인”키링이 있으며, 비밀번호가 사용자 비밀번호와 일치하면 로그인 할 때 키링이 자동으로 잠금 해제됩니다.
구성
이 작업을 수행하는 방법? 그놈 열쇠 고리 데몬과 해마를 설치하십시오. 패키지는 모든 시스템 구성을 수행해야합니다. 그냥 확실히 다른 열쇠 고리 데몬 또는 GPG 에이전트를 시작하지 않을 만든다 . 마지막 “승리”중 어느 것이 든 시작되고 그놈 키링은 PAM 스택에서 시작되므로 매우 빠릅니다.
GPG 키가에 저장된 경우 키가 ~/.gnupg
자동으로 선택되어 GPG 에이전트 역할을합니다. SSH 키에 저장된 것과 동일~/.ssh
(I 간단한 명령 줄하여 트리거 : 개인 키를 사용하려고 처음,이 같은 모습이있는 대화 얻을 것이다 gpg -d myfile.gpg
)
그냥 “자동으로 I가 로그인하고있어 때마다이 열쇠 고리를 잠금 해제”를 선택을
지금 우리는 해마에 대해 이야기하지 않았습니다. 꼭 필요한 것은 아니기 때문입니다. 이 모든 것은 단지 일반적인 그놈 키링 데몬으로 이루어졌습니다. 그러나 해마를 사용하면 모든 키 및 열쇠 고리를보고 관리 할 수 있습니다. 또한 중앙 집중식 인증 (LDAP)을 사용하는 경우 로그인 비밀번호를 변경할 때이를 사용하여 “로그인”키링의 비밀번호를 변경해야합니다.
다른 비밀번호
앞서 언급했듯이 gnome-keyring-daemon은 웹 사이트 암호도 저장할 수 있습니다. 크롬을 마지막으로 확인했을 때이 기능을 지원하지만 파이어 폭스는 지원하지 않습니다. 그러나 작동시키는 데는 한 가지 트릭이 있습니다.
기본적으로 2 개의 키링, “로그인”키링 및 “기본”키링이 있습니다. “기본”키링이 기본값입니다 (따라서 이름). 그러나 별도의 키링이므로 자동으로 잠금 해제되지 않습니다. 해마에서 “로그인”키링을 마우스 오른쪽 버튼으로 클릭하면 “기본으로 설정”옵션이 있습니다. 이것을 선택하면 암호에 익숙해지기 시작합니다. 나는 개인적으로 “기본”을 삭제하고 모든 것에 “로그인”을 사용합니다.
답변
나는 약간의 조사를했으며 그 결과는 놀랍지 만 간단합니다.
때이 방법으로 전화 gpg
와 통신하지 않는 gpg-agent
전혀 ! gpg
이러한 모든 작업을 자체적으로 수행 할 수 있습니다.
그러나 gpg-agent
어떤 일이 일어났다는 것을조차 알지 못하면 이전에는 몰랐던 암호를 거의 알 수 없습니다.