.ssh / config에서 IdentityFile 지시문을 사용하여 전달 된 키를 지정할 수 있습니까?
프로덕션 서버에서 Capistrano / GIT를 통해 일부 코드를 배포하려고 할 때이 문제가 발생했습니다. 내 개인 및 내 작업 GIT 키는 항상 내 SSH 에이전트에로드되며 개인 키가 먼저 에이전트에 추가되었습니다. Capistrano와 함께 배포 할 때 에이전트 전달을 사용하므로 호스트가 'git pull'작업을 인증하려고 할 때 다음 오류로 실패했습니다.
오류 : '일부 저장소'에 대한 권한이 사용자에게 거부되었습니다.
적절한 키 (나중에 ssh 에이전트에서 제공)를 시도하기 전에 내 개인 git 키를 사용하여 인증을 시도하고 액세스 권한이없는 외국 리포지토리에 액세스한다고 가정했기 때문입니다. 내 개인 사용자에게 모든 작업 저장소에 대한 액세스 권한을 부여 할 수는 있지만 로컬 컴퓨터에서는 .ssh / config에서 사용자 정의 도메인을 다음과 같이 정의 하여이 문제를 해결할 수 있습니다.
호스트 personal.github.com
호스트 이름 github.com
사용자 git
IdentityFile ~ / .ssh / some_key
호스트 work.github.com
호스트 이름 github.com
사용자 git
IdentityFile ~ / .ssh / some_other_key
그리고 이런 식으로 git은 혼동되지 않습니다. 프로덕션 코드에서 전달 된 키에 대해 .ssh / config 규칙을 생성하여 새 코드를 가져올 때 항상 사용할 키를 알 수 있습니까? 기본적으로 나는 할 수 있기를 원합니다.
호스트 work.github.com
호스트 이름 github.com
사용자 git
IdentityFile some_forwarded_key
감사!