내 gpg-agent를 원격 서버로 전달할 때 내 개인 키가 나열된 것을 볼 수 있습니다. 로컬에서 키를 잠금 해제하더라도 원격 시스템에서 잠금을 해제해야 합니다.
그러나 원격 컴퓨터에서 잠금을 해제하려고 하면 로컬 컴퓨터로 pinentry가 전송됩니다. 사용시 비밀번호를 입력하지 못할 pinentry-tty
수도 있습니다 pinentry-curses
.
이상한 동작이 있고 일부 키 입력을 받고 일부는 일반 텍스트로 표시되기도 합니다.
pinentry --version
pinentry-curses (pinentry) 1.1.0
현지의
gpg --version
gpg (GnuPG) 2.2.27
외딴
gpg --version
gpg (GnuPG) 2.2.12
다음은 내 로컬 구성 파일입니다.
gpg-agent.conf
extra-socket /run/users/1000/gnupg/S.gpg-agent.extra
pinentry-program /usr/bin/pinentry-curses
ssh.config
Host remote
HostName <ip-address>
User <username>
RemoteForward /run/users/1000/gnupg/S.gpg-agent /run/users/1000/gnupg/S.gpg-agent.extra
StreamLocalBindUnlink
또한 원격 서버에 /etc/ssh/sshd_config
.
일부 로컬 터미널에 pinentry가 표시되도록 "강제"하려면 다음 명령을 사용해야 했습니다.
gpg-connect-agent updatestartuptty /bye
원격 서버에서 서명을 시도하자마자 로컬 터미널에 다음 화면이 나타납니다.
┌────────────────────────────────────────────────────────────────┐
│ Note: Request from a remote site. │
│ │
│ Please enter the passphrase to unlock the OpenPGP secret key: │
│ "username <email>" │
│ 256-bit EDDSA key, ID 1234567890, │
│ created 2021-01-01. │
│ │
│ │
│ Passphrase: __________________________________________________ │
│ │
│ <OK> <Cancel> │
└────────────────────────────────────────────────────────────────┘
비밀번호를 입력하려고 하면 다음 메시지가 나타납니다.
┌────────────────────────────────────────────────────────────────┐
│ Note: Request from a remote site. │
│ │
│ Please enter the passphrase to unlock the OpenPGP secret key: │
│ "username <email>" │
│ 256-bit EDDSA key, ID 1234567890, │
│ created 2021-01-01. │
│ │
│ │
│ Passphrase: *elo w**wd ____________________________________ │
│ │
│ <OK> <Cancel> │
└────────────────────────────────────────────────────────────────┘
Pinentry를 닫으면 명령줄에서 부분적인 일반 텍스트를 볼 수 있습니다.
> elo wd
.pinentry-tty
내 로컬 컴퓨터에서는 Arch Linux를 실행하고 있지만 Macos에서도 동일한 동작이 발생합니다. 내 터미널 에뮬레이터에는 simple terminal
및 각각을 사용합니다.iterm2
원격 컴퓨터가 Debian Buster를 실행하고 있습니다.
pinentry-tty
또는 을(를) 계속 사용하고 싶습니다 pinentry-curses
.
또한 원격 서버에서 잠금을 해제하지 않고도 GPG 개인 키를 로컬에서 "잠금 해제"하고 원격으로 전달할 수 있습니까?
편집하다:
4년 전에 누군가 같은 질문을 한 것 같네요!
원격 사이트에서 로컬 gpg-agent를 사용할 때 혼합 입력
불행히도 답변이 없습니다.
답변1
MacOS에서도 같은 문제가 있습니다.
$ gpg --version
gpg (GnuPG/MacGPG2) 2.2.34
$ pinentry --version
pinentry-curses (pinentry) 1.2.0
동일한 iTerm 창에서. 달리기:
$ killall gpg-agent && gpg-agent --daemon --pinentry-program /usr/local/bin/pinentry
그런 다음 빠른 테스트를 실행하십시오.
$ echo "test" | gpg --clearsign
이 문제는 pinentry
동일한 터미널 창의 제한으로 인해 발생합니다.