Criando sua SSH key no Github
Tags: github, git, tutorial
Published: 2021-07-03 19:02:22

Oi :)
No meu primeiro post aqui, decidi trazer um tutorial de como criar sua chave SSH para sua conta Github, pois futuramente (ainda esse ano) será uma das formas de autenticação obrigatória nas operações git que você for fazer (commit, push...). Vamos lá?
Mas antes...

## O que é uma chave SSH?

SSH (Secure Socket Shell) é um protocolo que permite troca de informações de maneira segura entre cliente e servidor. A chave SSH é uma identificação única que podemos utilizar para autenticação, ela é composta por um par de chaves, uma chave privada e outra pública. A chave privada deve ser armazenada na sua máquina e a chave pública será armazenada na sua conta remota, nesse caso o Github. Então toda vez que uma operação é feita, há uma verificação e a operação só será liberada se a chave privada for compátivel [Mais detalhes aqui](https://pplware.sapo.pt/tutoriais/criar-chave-ssh-no-linux/) 

## Porque criar uma chave SSH para o Github?

O Github tem feito nos últimos anos, [diversas mudanças](https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/#background) que envolvem a segurança dos dados e a ideia de retirar a autenticação por usuário e senha nas operações que você faz no seu Github é exatamente para melhorar a segurança. Na autenticação por login/senha, existe uma vulnerabilidade maior em relação ao seus dados de autenticação, já com o token ou a chave SSH, a segurança é maior diminuindo assim as chances de exposição dos seus dados.

## Criando sua chave 🔑

~ Se você usa Windows, pode usar os mesmos passos abaixo para gerar a chave usando o [Git Bash](https://gitforwindows.org/) ~

1 - **Vamos verificar se você já possui um par de chaves SSH criado com o seguinte comando:**

```
$ ls ~/.ssh
```

Se o arquivo de nome **id_rsa.pub, id_ecdsa.pub ou id_ed25519.pub** estiver no diretório, então você já possui um par de chaves pule o passo 2.

2 - **Gerando seu par de chaves**

```
$ ssh-keygen -t ed25519 -C "seu-email-github@email.com"
```

Após executar esse comando, ele irá perguntar se você confirma a criação da chave no diretório padrão (aperta 'Enter' para confirmar ou adicione o diretório que deseja criar o arquivo com a chave):

```
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/User/.ssh/id_ed25519):
```

e também adicionar alguma frase como senha, é opcional porém utilizar aumenta a segurança da sua chave, mas caso deseje pode deixar em branco (Aperte 'Enter' 2 vezes para isso :D).

3 - **Adicionando sua chave pública no Github**

Acesse o arquivo da chave criada:

```
$ cat ~/.ssh/id_ed25519.pub
```
copie o conteúdo.

Hora de ir no Github, em **Configurações** > **SSH Keys and GPG Keys** e clique em gerar nova chave SSH:

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vkrazybea2uuulplnyg.png)

Adicione o título que desejar e o conteúdo da sua chave:

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/70m35th93uax82ojoxmy.png)

Após adicionar os dados, o Github irá solicitar sua senha para confirmação. Adicione a sua senha e a chave já estará cadastrada na sua conta <3

Para utilizar sua chave SSH, é só clonar o repositório utilizando a opção de SSH, como indicado na imagem abaixo. 

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tbmji08l43w9ywmz38b.png) 

Até mais 💜