ssh-agent 대신 gpg-agent

ssh-agent 대신 gpg-agent

나는 Yubikey 4를 가지고 있고 여기에 저장된 GPG 키를 사용하여 SSH 서버에 인증하고 싶습니다.
GitHub를 먼저 사용하고 싶습니다. 내 GPG 인증 키를 GitHub에 추가했습니다.

내 문제는 ssh를 할 때 내 에이전트가 이 키를 사용하지 않는다는 것입니다. VPS에 연결을 시도하여 확인했지만 ssh -vGPG 키를 건너뛰고 있습니다. 내 Yubikey가 연결되어 있고 gpg2 --card-status모든 세부 정보가 표시됩니다. 나는 서명하고 암호를 해독할 수 있으며 Yubikey의 다른 기능을 사용할 수 있습니다.

SSH 출력

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/wilhelm/.ssh/id_rsa
debug1: Trying private key: /home/wilhelm/.ssh/id_dsa
debug1: Trying private key: /home/wilhelm/.ssh/id_ecdsa
debug1: Trying private key: /home/wilhelm/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

그놈 비밀번호 관리자를 비활성화했습니다.

나는 본 적이SSH와 Git을 gpg-agent에 연결제안을 따랐지만 작동하지 않는 것 같습니다.

╰─ ssh-add -l
Could not open a connection to your authentication agent.

╰─ ps aux | grep gpg-agent
wilhelm  26079  0.0  0.0  20268   980 ?        Ss   20:57   0:00 gpg-agent --daemon --enable-ssh-support --sh
wilhelm  31559  0.0  0.0  12724  2184 pts/1    S+   22:49   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg-agent

답변1

sshgpg-agent그렇게 할 수 있는 방법을 제공하지 않으면 귀하와 연결을 열 수 없습니다.

gpg-agent옵션 으로 시작하면 --enable-ssh-support이를 사용할 셸에서 사용할 수 있어야 하는 환경 변수가 인쇄됩니다 ssh. 이를 얻을 수 있는 가능성은 거의 없습니다.

  • gpg-agent사용 중인 셸에서 중지했다 가 다시 시작하세요 ssh. (이것이 테스트하는 가장 쉬운 방법입니다.)

    eval $(gpg-agent --daemon --enable-ssh-support --sh)
    
  • 인증 소켓의 위치를 ​​찾고 SSH_AUTH_SOCK환경 변수를 수동으로 설정하십시오.

나중에 작동한다는 것을 알게 되면 매뉴얼 페이지에 따라 에이전트 시작을 설정해야 합니다.gpg-agent(1)이므로 ~/.xsession자동으로 시작되도록 할 수도 있습니다.

관련 정보