gpg-agent
해당 옵션을 사용하여 Mac에서 로컬 프로그램을 시작합니다 extra-socket
. 그런 다음 SSH를 사용하여 원격 사이트에 연결하고 S.gpg-agent
원격 소켓을 로컬 S.gpg-agent.extra
소켓으로 전달합니다. 이것은 작동합니다:
ssh -R /remotehome/.gnupg/S.gpg-agent:/localhome/.gnupg/S.gpg-agent.extra remotesystem
원격 컴퓨터에서 무언가에 서명하려고 하면 pinentry
로컬에서 대화 상자가 나타나 암호를 묻는 메시지가 나타납니다. 이것이 작동하는 방식입니다. 그러나 비밀번호를 입력하기 시작하면 일부 키 입력이 분명히 들어가고 pinentry
(표시되는 대로 *
) 일부는 프로세스와 동일한 tty에서 실행되는 쉘에서 끝납니다 pinentry
.
┌────────────────────────────────────────────────────────────────┐
│ Note: Request from a remote site. │
│ │
│ Please enter the passphrase to unlock the OpenPGP secret key: │
│ "My name <my.email@address>" │
│ 4096-bit RSA key, ID MYKEYIDXXX0000YYY, │
│ created 2015-06-17 (main key ID MYMAINKEYIDXXX0000YYY). │
│ │
│ │
│ Passphrase: t*i*e_____________________________________________ │
│ │
│ <OK> <Cancel> │
└────────────────────────────────────────────────────────────────┘
키를 누르면 깨진 비밀번호를 에 보내 거나 셸에 들어가지 않는 키 입력을 Return보낼 수 있습니다 .gpg
pinentry
/bin/ksh: tie: not found
어떻게 pinentry
잡을 수 있어?모두tty의 열쇠?
로컬 컴퓨터는 GnuPG 2.1.14(컴파일)을 실행하는 Mac입니다 pkgsrc
. 원격 사이트는 동일한 GnuPG 버전을 사용하는 Linux 시스템이거나 GnuPG 버전 2.1.15(차이 없음)를 사용하는 OpenBSD 시스템일 수 있습니다. 옵션 extra-socket
은 내 것입니다 gpg-agent.conf
. 환경 변수가 GPG_TTY
올바르게 설정되었으며 gpg-connect-agent updatestartuptty /bye
로컬로 실행하면 부팅된 tty가 이동 pinentry
하지만 동일한 문제가 있습니다.
gpg-connect-agent updatestartuptty /bye
원격 컴퓨터에서 작업을 수행하면 다음과 같은 결과가 발생합니다.
$ gpg-connect-agent updatestartuptty /bye gpg-connect-agent: connection to agent is in restricted mode ERR 67109115 Forbidden <GPG Agent>
...그건 내가 예상했던 일이야.
curs 인터페이스에서 tty 인터페이스로 변경해도 pinentry
아무런 차이가 없습니다. 제가 사용할 수 있는 인터페이스 는 이 pinentry
두 가지뿐입니다. 나는 X11을 실행하지 않습니다.
업데이트: 로컬 시스템이 OpenBSD 6.3(GnuPG 2.2.9)을 실행하고 원격 시스템이 일부 Ubuntu 시스템(GnuPG 2.1.11)을 실행 중인 경우 상황은 더욱 악화됩니다.아니요키를 눌러 pinentry
쉘에 들어가서 모든 내용을 읽으십시오.