O GitHub permite anexar uma chave de implantação a apenas um repositório. O problema é quando você deseja acessar vários repositórios com ferramentas como capistrano ou, como é o nosso caso, webistrano que executa git ls-remote
localmente antes de fazer o ssh’ing para um servidor remoto e fazer clone git lá.
Aqui está o truque para fazer com que a ferramenta sempre use a chave correta.
Alias host github.com em seu ~/.ssh/config
e atribua uma chave de identidade a ele.
Host aliased-github
HostName github.com
IdentityFile ~/.ssh/my_deploy_key
Agora a ferramenta deve ser configurada para implantar a partir de git@aliased-github:username/repository.git