Eu estava tendo dificuldades para conciliar multiplas contas git com autenticação ssh no meu linux.
A resolução para isso é simples, basta criar um arquivo config no diretório ~/.ssh/
No arquivo config você irá dizer que para cada host XYZ deve ser utilizado a chave de autenticação ABC. Mas se você possui duas chaves de autenticação no mesmo host? Ou seja, o motivo é você possuir duas contas no github ou bitbucket, então você vai setar o hostname original do github ou bitbucket no seu arquivo ~/.ssh/config e fazer hostnames personalizados localmente.
Com o exemplo você vai entender melhor:
Meu arquivo ~/.ssh/config:
E a configuração ~/meuprojeto/.git/config
Perceba que a configuração de remote origin possui um host bitbucket.org-ovictoraurelio que graças ao arquivo ~/.ssh/config é traduziada para bitbucket.org pois lá temos configurada a opção HostName
A resolução para isso é simples, basta criar um arquivo config no diretório ~/.ssh/
No arquivo config você irá dizer que para cada host XYZ deve ser utilizado a chave de autenticação ABC. Mas se você possui duas chaves de autenticação no mesmo host? Ou seja, o motivo é você possuir duas contas no github ou bitbucket, então você vai setar o hostname original do github ou bitbucket no seu arquivo ~/.ssh/config e fazer hostnames personalizados localmente.
Com o exemplo você vai entender melhor:
Meu arquivo ~/.ssh/config:
Host bitbucket.org-ovictoraurelio
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_bitbucket_ovictoraurelio
IdentitiesOnly yes
Host bitbucket.org-outrovictor
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_bitbucket_outrovictor
IdentitiesOnly yes
E a configuração ~/meuprojeto/.git/config
[core]
repositoryformatversion = 0
[remote "origin"]
url = git@bitbucket.org-ovictoraurelio:maintener/meuprojeto.git
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
email = meuemail@gmail.com
Perceba que a configuração de remote origin possui um host bitbucket.org-ovictoraurelio que graças ao arquivo ~/.ssh/config é traduziada para bitbucket.org pois lá temos configurada a opção HostName