Sabe aquele processo de da um push para o repositório remoto e ter que pôr as credenciais do GitHub ou token toda vez? Pois é, isso pode ser resolvido configurando uma chave SSH.

Quando comecei a usar Linux (a pesar dos 321816589 de erros que aparece pra resolver do nada hahahah) gostei muito pois aprendi a ler erros, pesquisar, resolver e de quebra, melhorei bastante no inglês.

Em um desses "problemas", me deparei com um desconforto, sempre que eu dava um update em um projeto git, pedia login e senha e... você sabe, a gente não se contenta com padrões, isso para mim é muito chato. É questão de segurança mas a pergunta que eu me fiz é "existe outra forma?" pesquisei sobre isso e conheci o SSH ou Key Pair ou chave pública hahaha.

O que é isso 🤔?

A definição de SSH é: Meio de identificação entre seu computador e um servidor SSH usando método de autenticação chave de criptografia pública. Simplificando, ele garante que vai ter uma comunicação segura e dinâmica entre cliente e servidor remoto.

Visando pelo lado da segurança, com o SSH você não precisa enviar seu login e senha para a autenticação com servidor remoto, mesmo que uma pessoa mal intencionada intercepte sua transmissão de dados pela rede não poderá ter acesso à suas credencias impossibilitando roubo de seus dados de acesso.

Agora vamos configurar o SSH com o GitHub

Supondo que você já tenha uma conta no GitHub e o Git instalado e configurado no seu PC, abra o seu terminal e digite:

ssh-keygen -t rsa -b 4096 -C "seu email do github"

Após isso, aperte enter para as duas perguntas a seguir (ou coloque uma senha se preferir).

Isso vai gerar o SSH para fazer a comunicação do seu computador até o GitHub.

Com isso, vai ser gerado um arquivo oculto .ssh no seu home, nesse arquivo vai conter sua chave.

Vamos verificar se o agente ssh está rodando:

eval "$(ssh-agent -s)

Vai retornar algo como: agent pid seu_pid

Agora é bem simples, vamos adicionar e copiar a chave:

ssh-add ~/.ssh/id_rsa

Vai retornar algo como: Identity added: /home/nome_pc/.ssh/id_rsa (seu email)

Vamos instalar o xclip para copiar nossa chave

sudo apt-get install xclip