GPG 키가 여러 개 있습니다. 그 중 하나는 제출물, 이메일 등에 서명하는 데 매일 사용하는 것인데, 내 컴퓨터에 바로 있고 항상 사용할 수 있습니다. 기밀 정보를 암호화하는 데 사용하는 것보다 더 신뢰할 수 있다고 생각하는 다른 키가 있는데, 이는 Yubikey에 오프라인이므로 사용하고 싶을 때 연결해야 합니다.
두 키 모두에 대해 인증 하위 키가 있습니다. 다시, 신뢰성으로 나뉩니다. "컴퓨터에 있는" 키를 사용하여 github에 푸시할 수 있지만 salt-master에 로그인하려면 오프라인 키가 필요합니다.
이제 제가 겪고 있는 문제는 대부분의 서버에서 두 키를 모두 사용할 수 있기를 원한다는 것입니다. 신뢰도가 낮은 키를 분실할 경우를 대비해 동일한 서버에 액세스하기 위해 여러 키를 사용해야 하는 경우도 있습니다. gitolite 관리자 및 사용자와 같습니다.
이제 내 문제는 ssh가 어떤 키를 먼저 시도할지 모르기 때문에 푸시할 때 Yubikey를 연결하라는 요청을 받는 경우도 있지만 더 중요한 것은 Gitolite 사용 사례를 처리하는 방법을 찾지 못했다는 것입니다.
나는 나의 .ssh/config
변화를 만들 수 있다주인동일한 서버, 동일한 사용자에 대한 항목은 단지 다른 키일 뿐입니다. 이는 디스크 어딘가에 있는 SSH 키를 사용하고 있지만 에서 제공하는 특정 gpg 키를 입력하는 방법을 알 수 없는 경우에 유용합니다 gpg-agent
. 해결책이 있습니까? 아니면 SSH 키를 사용하도록 되돌리는 것 외에는 선택의 여지가 없습니까?
답변1
~/.ssh/config 파일에 개인 키 대신 공개 키를 추가합니다. 를 통해 공개 키를 생성할 수 있습니다 gpg --export-ssh-key
. SSH는 ssh-add -l에 나열된 모든 키를 시도하고 첫 번째 키를 선택합니다. -vT 옵션을 사용하면 로그를 확인할 수 있다.
인증 토큰 토글 GPG 키 내보내기
Match host company.github.com exec CMD
Hostname github.com
...
IdentityFile ~/.ssh/company.pub
Match host my.github.com exec CMD
Hostname github.com
...
IdentityFile ~/.ssh/me.pub