Usando o chaves SSH no Windows

Depois de ativar o Ubuntu no Windows qual o próximo passo? Definitivamente configurar o Git!

Como eu falei num outro post, eu tenho precisado desenvolver e testar algumas coisas no Windows e para facilitar um pouco esse processo eu instalei o Ubuntu no Windows. Ainda assim, às vezes eu preciso fazer um commit ou outro pelo Prompt de Comando e para isso, nada como usar as chaves SSH não é mesmo?

Primeiro você precisa instalar o Git no Windows para isso vá até a página oficial do Git e baixe o instalador para sua máquina:

Captura de tela da seção de downloads do site do Git

E ao clicar duas vezes sobre o executável baixado você pode seguir no tradicional “next, next, next” para instalação padrão.

Depois disso, vamos precisar usar o terminal do Ubuntu para gerar uma nova chave. Então abra o terminal do Ubuntu e comece pelo comando a seguir e siga as instruções que apareceram no terminal:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Após gerar sua chave, vamos adicioná-la ao agente SSH com os dois comandos a seguir:

$ eval $(ssh-agent -s)
$ ssh-add ~/.ssh/id_rsa

Todos esses comandos acima eu segui a partir da página de ajuda do próprio GitHub para geração de chaves SSH. Você também precisará adicionar essa sua chave à sua conta do GitHub e para isso siga as instruções nessa página aqui.

Depois de gerar e adicionar a chave no GitHub, você já consegue fazer commits usando o terminal do Ubuntu agora o passo final para conseguir fazer o mesmo no Windows. Ainda no terminal do Ubuntu, agora temos conteúdo dentro do diretório .ssh/:

listagem do conteúdo do diretório .ssh/

Os arquivos id_rsa e id_rsa.pub são a chave privada e a chave publica do nosso par de chaves SSH, e vamos querer copiar ambos para o Windows com o seguinte comando:

$ cp .ssh/id_rsa* ../../mnt/c/Users/<seu-usuário>/.ssh/

Agora abra o Prompt de Comando e liste o conteúdo da pasta .ssh:

Prompt com a listagem do conteúdo da pasta .ssh/ para o usuário Saraiva

Note que agora temos o nosso par de chaves também no Windows e estamos prontos para enviar commits por SSH a partir do Prompt de Comando quando necessário. 😉