Skip to main content

Múltiplas contas de git via ssh como lidar com isso?

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:

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

Popular posts from this blog