•
2 min de leitura
Gerenciando duas contas do GitHub com SSH

É possível utilizar duas contas do GitHub na mesma máquina sem fazer login e logout. A solução é criar uma chave SSH para cada conta e configurar aliases no arquivo ~/.ssh/config.

1. Criar uma chave para cada conta

Por exemplo:

ssh-keygen -t ed25519 -C "email@exemplo.com" -f ~/.ssh/id_ed25519_conta2

A chave pública (.pub) deve ser adicionada à conta correspondente no GitHub.

2. Configurar ~/.ssh/config

O arquivo ~/.ssh/config define qual chave SSH deve ser utilizada para cada conta.

Exemplo:

# Conta 1
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

# Conta 2
Host conta2
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_conta2
    IdentitiesOnly yes

O valor definido em Host é um alias local. Você pode escolher qualquer nome, como conta2, github-work ou github-company.

3. Usar a conta correta

A conta principal continua usando github.com:

git clone git@github.com:usuario/repositorio.git

Para a segunda conta, substitua github.com pelo alias definido no ~/.ssh/config:

git clone git@conta2:usuario/repositorio.git

O mesmo vale para o remote de um repositório existente:

git remote set-url origin git@conta2:usuario/repositorio.git

4. Testar as contas

ssh -T git@github.com

Testa a primeira conta.

ssh -T git@conta2

Testa a segunda.

Cada alias fará o SSH utilizar automaticamente a chave definida no IdentityFile.

Resumo

github.com → ~/.ssh/id_ed25519        → Conta 1
conta2     → ~/.ssh/id_ed25519_conta2 → Conta 2

Não é necessário fazer login ou logout do GitHub. O alias utilizado na URL do Git determina qual configuração e qual chave SSH serão usadas.