DEV Community

Ana Carolina for Dev Girls

Posted on

Guia: gerenciando 2 ssh keys do Github no seu pc

resumo:

Você tem o computador da firma (macOs) e as vezes quer fazer um commit no seu repositório particular. Esse é um guia rápido com comandos para trocar as ssh-keys e poder trabalhar com sua conta particular e da firma quando quiser!

~ mas o que é esse guia:
Esse é um guia rápido para consultar quando você sabe o que tem que fazer, mas não lembra como fazer...
Eu sempre uso esse artigo como referência para me salvar nesses momentos, mas ele é em inglês e acho justo manter essas informações em português também.

passos:

1 - Criando uma ssh-key para seu github pessoal:

no terminal você digita o comando para gerar a ssh-key, o seu e-mail e um nome para sua key: aqui vamos chamar de "id_rsa_deva".

$ ssh-keygen -t rsa -C "email@pessoal.com" -f "id_rsa_deva"
Enter fullscreen mode Exit fullscreen mode

O github explica sobre como criar e adicionar uma ssh-key aqui.

2 - Criando uma ssh-key para seu github profissional:

no terminal você digita o comando para gerar a ssh-key, o seu e-mail profissional e um nome para sua key: aqui vamos chamar de "id_rsa_firma".

$ ssh-keygen -t rsa -C "email@firma.com" -f "id_rsa_firma"
Enter fullscreen mode Exit fullscreen mode

~ o github explica sobre como criar e adicionar uma ssh-key aqui.

~ como ver a(s) ssh-key(s) salvas:

$ ls -al ~/.ssh
# Vai mostrar a lista de arquivos na pasta do .ssh (se você já tiver alguma)
Enter fullscreen mode Exit fullscreen mode

exemplo do meu terminal:

anac  ... ... config
anac  ... ... id_rsa_deva
anac  ... ... id_rsa_deva.pub
anac  ... ... id_rsa_firma
anac  ... ... id_rsa_firma.pub
Enter fullscreen mode Exit fullscreen mode

3 - Gerenciando mais de uma ssh-key

Agora que temos duas ssh-keys vamos fazer nossa vida ficar um pouco mais fácil de gerenciar isso usando a opção de config do ssh.

~ se você ainda não tem o arquivo de config digita os 3 comandos no terminal, se já tem o arquivo pula o segundo comando:

$ cd ~/.ssh/
$ touch config           // Cria o arquivo se ele não existe
$ nano config            // Abre o arquivo para edição
Enter fullscreen mode Exit fullscreen mode

a. Você vai adicionar as 2 keys no arquivo (pode copiar e colar):

# Minha conta pessoal
Host github.com-deva
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_deva

# Minha conta da firma
Host github.com-firma
   HostName github.com //ou o endereço de github da firma
   User git
   IdentityFile ~/.ssh/id_rsa_firma
Enter fullscreen mode Exit fullscreen mode

~ embaixo no arquivo do terminal ele diz quais são os comandos: para salvar "write out", para sair "exit"

b. Reinicar o ssh-agent para ele receber as mudanças:

eval "$(ssh-agent -s)"
Enter fullscreen mode Exit fullscreen mode

c. Adicionar e registrar as novas ssh-keys no ssh-agent:

ssh-add ~/.ssh/id_rsa_deva
ssh-add ~/.ssh/id_rsa_firma
Enter fullscreen mode Exit fullscreen mode

OK! agora vem a parte legal:

Agora você tá querendo ser apenas uma deva desbravadora de códigos e vai usar sua conta pessoal

avisa o ssh-agent para ele usar sua ssh-key especial:

$ ssh-add -D  //remove as ssh's do agente
$ ssh-add ~/.ssh/id_rsa_deva  // adiciona a tua ssh de deva
Enter fullscreen mode Exit fullscreen mode

Quando você for vestir o chapéu de trabalhadora e precisa fazer commits nos repositórios da firma

você avisa o agent para usar a sua ssh-key da firma:

$ ssh-add -D  //remove as ssh's do agente
$ ssh-add ~/.ssh/id_rsa_company  // adiciona a tua ssh da firma
Enter fullscreen mode Exit fullscreen mode

~ recomendo também trocar as configs de user e e-mail, essa config vai aparecer no seus commits:

Liste sua configuração do git:

git config --list
Enter fullscreen mode Exit fullscreen mode

Como alterar nome de usuário e email global

git config --global user.name "Ana Deva"
git config --global user.email "ana@deva.com"
Enter fullscreen mode Exit fullscreen mode

Como alterar nome de usuário e email para o repositório atual

git config  user.name "Ana Deva"
git config  user.email "ana@deva.com"
Enter fullscreen mode Exit fullscreen mode

concluindo:

Usando o config do ssh agent fica fácil de trocar as keys que queremos usar. Confira qual ssh-key está ativa para você antes de começar num repositório novo e bons commits =)

Top comments (1)

Collapse
 
isagiongo profile image
Isa Giongo

Ana, parabens pelo artigo! Tá super didático e objetivo, e conteúdo assim em português faz mt diferença pra quem está iniciando na área.