나는 Yubikey 4를 가지고 있고 여기에 저장된 GPG 키를 사용하여 SSH 서버에 인증하고 싶습니다.
GitHub를 먼저 사용하고 싶습니다. 내 GPG 인증 키를 GitHub에 추가했습니다.
내 문제는 ssh를 할 때 내 에이전트가 이 키를 사용하지 않는다는 것입니다. VPS에 연결을 시도하여 확인했지만 ssh -v
GPG 키를 건너뛰고 있습니다. 내 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
ssh
gpg-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
자동으로 시작되도록 할 수도 있습니다.