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"
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"
~ 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)
exemplo do meu terminal:
anac ... ... config
anac ... ... id_rsa_deva
anac ... ... id_rsa_deva.pub
anac ... ... id_rsa_firma
anac ... ... id_rsa_firma.pub
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
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
~ 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)"
c. Adicionar e registrar as novas ssh-keys no ssh-agent:
ssh-add ~/.ssh/id_rsa_deva
ssh-add ~/.ssh/id_rsa_firma
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
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
~ 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
Como alterar nome de usuário e email global
git config --global user.name "Ana Deva"
git config --global user.email "ana@deva.com"
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"
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)
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.