Usando o protocolo SSH, você pode se conectar e autenticar sevidores e serviços remotos. Gerando uma chave SSH você pode se conectar com o GitHub sem precisar inserir seu usuário e chave de acesso em cada conexão.
- Gerar chaves pública e privada, usando seu email do GitHub:
$ ssh-keygen -t ed25519 -C "fulanodetal@email.com"
# Saída : Generating public/private ed25519 key pair.
- Confirme os proximo passos, adicionar uma senha a conexão SSH é opcional. A resposta deverá ser semelhante ao exemplo:
# Saída :
Your identification has been saved in /root/.ssh/id_ed25519
Your public key has been saved in /root/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:YzX9kjuahs789ha+mJkOJkU897GfDo36paHg67HnBdAc fulanodetal@email.com
- Inicie o ssh-agent
$ eval "$(ssh-agent -s)"
- Adicione a chave privada.
$ ssh-add /root/.ssh/id_ed25519
$ exec ssh-agent bash # ou exec ssh-agent zsh
# Saída esperada: Identity added: /root/.ssh/id_ed25519 (lessalsn@gmail.com)
- Copie a chave pública:
$ cat ~/.ssh/id_ed25519.pub
# Saída esperada: ssh-ed25519 YzX9kjuahs789ha+mJkOJkU897GfDo36paHg67HnBdJSAAJSIJIJASIJ8798ASHvgvAc fulanodetal@email.com
- Adicione nas configurações do GitHub :
Profile > Settings > SSH and GPG keys
- Teste a conexão:
$ ssh -T git@github.com
# Saída: Hi fulanodetal! You've successfully authenticated, but GitHub does not provide shell access.
Pronto, agora quando for adicionar o endereço do repositório remoto
, use o protocolo SSH ao invés do HTTPS.
$ git remote add origin git@github.com:fulanodetal/meuprojeto.git
🚩 Aleḿ desses dois protocolos o Git também possui o seu próprio e foi desenvolvido para ter mais velocidade que os outros. Este é o protocolo mais rápido, mas pode ter problemas com firewalls, já que ele utiliza uma porta sem tráfego de rede normalmente.
$ git remote add origin git@github.com/fulanodetal/meuprojeto.git