Adicionando uma chave SSH ao GitHub

xxzeroxx

Antonio Silva

Posted on September 11, 2023

Adicionando uma chave SSH ao GitHub

O que são chaves SSH?

Chaves SSH são credenciais usadas para o Protocolo SSH (Secure Shell) para permitir o acesso seguro a computadores remotos pela Internet. Geralmente, essa autenticação ocorre em um ambiente de linha de comando.
O SSH é usado para transferência remota de arquivos, gerenciamento de rede e acesso remoto ao sistema operacional.

Chaves públicas vs privadas

O protocolo SSH usa uma técnica de criptografia chamada criptografia assimétrica. Esse termo pode parecer complicado e estranho, mas nada poderia estar mais longe da verdade.

A criptografia assimétrica é um sistema que usa um par de chaves, sendo uma a pública e a outra privada. A chave pública pode ser compartilhada com qualquer pessoa.

Seu principal objetivo é criptografar dados, convertendo a mensagem em código secreto ou texto cifrado.

A chave privada é a que você deve guardar para si. É usado para descriptografar os dados criptografados com sua chave pública. Sem ele, é impossível decodificar suas informações criptografadas.

Esse método permite que você e o servidor mantenham um canal de comunicação seguro para transmitir as informações.

Gerando uma chave SSH

Abra o seu terminal e execute o seguinte comando:

$ ssh-keygen -t ed25519 -C "email_github_de_preferencia"
Enter fullscreen mode Exit fullscreen mode

Vamos entende o que cada parte do comando significa:

  • ssh-keygen: A ferramenta de linha de comando usada para criar um novo par de chaves SSH. Você pode ver suas bandeiras com ssh-keygen help

  • -t ed25519: O -t sinalizador é usado para indicar o algoritmo usado para criar a assinatura digital do par de chaves. Se o seu sistema suportar, ed25519 é o melhor algoritmo que você pode usar para criar pares de chaves SSH.

  • -C “email_github”: O -c O sinalizador é usado para fornecer um comentário personalizado no final da chave pública, que geralmente é o email ou a identificação do criador do par de chaves.

Depois de digitar o comando no seu terminal, você precisará inserir o arquivo no qual deseja salvar as chaves. Por padrão, ele está localizado no diretório inicial, em uma pasta oculta chamada “ .ssh ”, mas você pode alterá-lo para o que quiser.

Enter file in which to save the key (/home/usuario/.ssh/id_ed25519): /home/usuario/.ssh/nome_arquivo
Enter fullscreen mode Exit fullscreen mode

Em seguida, você será solicitado a adicionar uma senha ao seu par de chaves. Isso adiciona uma camada extra de segurança se, a qualquer momento, seu dispositivo estiver comprometido. Não é obrigatório adicionar uma senha, mas é sempre recomendado.

Enter passphrase (empty for no passphrase):
Enter fullscreen mode Exit fullscreen mode

Aqui temos todo o processo:

$ ssh-keygen -t ed25519 -C "a.silva@mailfence.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/zero/.ssh/id_ed25519): /home/zero/.ssh/github
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zero/.ssh/github
Your public key has been saved in /home/zero/.ssh/github.pub
The key fingerprint is:
SHA256:dRBEcSeZCIS42Y4xtvIxSFKGNooFqwUm2ta39eho2z0 a.silva@mailfence.com
The key's randomart image is:
+--[ED25519 256]--+
|++   . oo+*+oo.  |
|=*+.. .   .ooo   |
|*+= .+. . . .    |
|=o. *..o + .     |
|.o o *. S .      |
|  o = .o         |
|   o oo .        |
|    .. o .E      |
|      . . ..     |
+----[SHA256]-----+
Enter fullscreen mode Exit fullscreen mode

Ao final o comando gera dois arquivos no diretório que você selecionou (geralmente ~/.ssh): a chave pública com o .pub extensão e a privada sem extensão.

Adicionar a chave SSH ao agente ssh

O ssh-agent é um programa é executado em segundo plano, mantendo suas chaves e frases particulares com segurança e as mantém prontas para uso.

Por esse motivo, você adicionará sua nova chave privada a esse agente. Assim:

Verifique se o ssh-agent está sendo executado em segundo plano.

eval `ssh-agent`
# Agent pid 10199
Enter fullscreen mode Exit fullscreen mode

Se você receber uma mensagem semelhante a esta, isso significa que o agente ssh está sendo executado sob um ID de processo específico (PID).

Adicione sua chave privada SSH (aquela sem extensão) ao agente ssh.

$ ssh-add ~/.ssh/nome_da_chave
Enter fullscreen mode Exit fullscreen mode

Caso você não tenha dado um novo nome a sua chave o possível nome é id_ed25519.

Adicionar chave SSH à conta GitHub

Siga a abaixo as instruções:

Copie sua chave pública SSH para sua área de transferência. Você pode abrir o arquivo em que está localizado com um editor de texto e copiá-lo ou usar o terminal para mostrar seu conteúdo.

./ssh$  cat nome_da_chave.pub
Enter fullscreen mode Exit fullscreen mode

No seu github faça o seguinte caminho:

Settings -> SSH and GPG keys -> New SSH key
Enter fullscreen mode Exit fullscreen mode

Dê um título a sua chave SSH geralmente, o dispositivo do qual você usará essa chave, depois cole a chave no campo key e termine clickando em Add SSH key.

Image description

Por fim é testar a conexão com algum repositório.

💖 💪 🙅 🚩
xxzeroxx
Antonio Silva

Posted on September 11, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Adicionando uma chave SSH ao GitHub
github Adicionando uma chave SSH ao GitHub

September 11, 2023