O Github permite que você possa criar chaves ssh para você gerencie tudo de forma remota e com segurança, sem precisar fornercer seu nome de usuário e token de acesso toda vez que quiser acessar.
O Github possui uma documentação para essa configuração, que você pode conferir aqui.
Para que você possa possa prosseguir com a configuração desde tutorial, você já deve ter o git instalado na maquina e utilizar o terminal do Git Bash. Caso esteja utilizado o WSL nele o git já vem instalado por padrão para isso você poderá continuar com a configuração.
O primeiro passo é executar um comando para saber se já existem chaves ssh na máquina. Por padrão o nome delas devem ser um desses: id_rsa.pub
, id_ecdsa.pub
ou id_ed25519.pub
.
Para listar as existentes, executar o comando: ls -al ~/.ssh
.
Caso não exista nenhum par de chaves existentes, precisamos gerar um novo par de chaves. Falamos "par de chaves" porque assim que gerarmos uma chave, serão criados dois arquivos, um público (.pub) e um privado. O conteúdo do arquivo público é o que futuramente colocaremos no github para fazer a conexão.
Para criar uma chave ed25519, executar: ssh-keygen -t ed25519 -C "[your_email@example.com](<mailto:your_email@example.com>)"
.
Caso queira criar uma chave rsa, também é possivel basta executar: ssh-keygen -t rsa -b 4096 -C "[your_email@example.com](<mailto:your_email@example.com>)"
.
Adicionar nova chave no ssh agent
O ssh-agent é um gerenciador de chaves ssh. Para que a conexão funcione, devemos adicionar a chave privada nesse gerenciador, para que funcione corretamente:
- Rodar o ssh-agent: eval $(ssh-agent -s)
.
- Incluir a chave privada: ssh-add ~/.ssh/id_ed25519
.
ícone de perfil > Settings
, no canto superior direito.SSH and GPG keys
.New SSH key
Add SSH key
e pronto!Agora vamos testar se tudo está certo digitando o comando ssh -T [git@github.com](<mailto:git@github.com>)
.
Aguardar as mensagens. Digitar "yes" para continuar.
Verifique se a mensagem resultante contém seu nome de usuário e o sucesso da sua autenticação.
Hi aleksanderpalamar! You've successfully authenticated, but GitHub does not provide shell access.
©2022 Aleksander Palamar. All rights reserved | CNPJ 26.328.604/0001-55