Gerencie várias chaves SSH para diferentes contas do GitHub

Antonio Silva - Sep 12 '23 - - Dev Community

Se você possui várias contas do GitHub por exemplo, uma para seus projetos pessoais e outra para o seu trabalho é difícil usar o SSH para ambas. Você normalmente precisaria de máquinas separadas para autenticar em diferentes contas do GitHub.

Mas isso pode ser resolvido facilmente, configurando o arquivo de configuração do SSH.

Seguimos:

Crie outro par de chaves SSH e adicione-o à sua outra conta do GitHub. Lembre-se do nome do arquivo ao qual você está atribuindo a nova chave.

ssh-keygen -t ed25519 -C "trabalho@email.com"
Enter fullscreen mode Exit fullscreen mode

Crie o arquivo de configuração do SSH. O arquivo de configuração informa ao programa ssh como ele deve se comportar. Por padrão, o arquivo de configuração pode não existir, portanto, crie-o dentro da pasta .ssh:

$ touch ~/.ssh/config
Enter fullscreen mode Exit fullscreen mode

Modifique o arquivo de configuração SSH. Abra o arquivo de configuração e cole o código abaixo:

# Conta GitHub para o dia-a-dia

Host github.com
  HostName github.com
  IdentityFile ~/.ssh/nome_chave
  IdentitiesOnly yes

# Conta para trabalho
Host github-work
  HostName github.com
  IdentityFile ~/.ssh/nome_chave_trabalho
  IdentitiesOnly yes
Enter fullscreen mode Exit fullscreen mode

Assim, quando você precisa se autenticar via SSH usando sua conta de trabalho ou secundária, você ajusta endereço SSH:

git@github.com:conta_github/project.git
Enter fullscreen mode Exit fullscreen mode

para

git@github-work:conta_github/project.git
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .