Sobre a adição de chaves SSH à sua conta
Você pode acessar e gravar dados nos repositórios em GitHub usando o protocolo SSH (Secure Shell Protocol). Ao se conectar por meio do SSH, você se autentica usando um arquivo de chave privada no computador local. Para saber mais, confira Sobre o SSH.
Você também pode usar SSH para assinar commits e tags. Para saber mais sobre a assinatura de commit, confira Sobre a verificação de assinatura de commit.
Depois de gerar um par de chaves de SSH, você pode adicionar a chave pública em GitHub.com para permitir que o SSH acesse sua conta.
Pré-requisitos
Antes de adicionar uma nova chave SSH à sua conta em GitHub.com, conclua as etapas a seguir.
- Verifique se há chaves SSH existentes. Para saber mais, confira Verificar se há chaves SSH.
- Gere uma nova chave SSH e adicione-a ao agente SSH do computador. Para saber mais, confira Gerando uma nova chave SSH e adicionando-a ao agente SSH.
Como adicionar uma nova chave SSH à sua conta
Você pode adicionar uma chave SSH e usá-la para autenticação, assinatura de confirmação ou ambos. Se desejar usar a mesma chave SSH para autenticação e assinatura, será necessário fazer upload da chave duas vezes.
Depois de adicionar uma nova chave SSH de autenticação à sua conta em GitHub.com, você poderá reconfigurar qualquer repositório local para usar o SSH. Para saber mais, confira Gerenciar repositórios remote.
Note
O GitHub aprimorou a segurança removendo tipos de chaves mais antigos e não seguros em 15 de março de 2022.
Desde essa data, não há mais suporte para as chaves DSA (ssh-dss
). Não é possível adicionar novas chaves DSA à sua conta pessoal em GitHub.
As chaves RSA (ssh-rsa
) com um valid_after
antes de 2 de novembro de 2021 podem continuar usando qualquer algoritmo de assinatura. As chaves RSA geradas após essa data precisam usar um algoritmo de assinatura SHA-2. Talvez alguns clientes mais antigos precisem ser atualizados para usar as assinaturas SHA-2.
-
Copie a chave pública SSH para a sua área de transferência.
Se o seu arquivo de chave pública SSH tiver um nome diferente do código de exemplo, modifique o nome do arquivo para corresponder à sua configuração atual. Ao copiar sua chave, não adicione novas linhas nem espaços em branco.
$ pbcopy < ~/.ssh/id_ed25519.pub # Copies the contents of the id_ed25519.pub file to your clipboard
Tip
Se
pbcopy
não estiver funcionando, localize a pasta oculta.ssh
, abra o arquivo no seu editor de texto favorito e copie-o para a área de transferência.
$ clip < ~/.ssh/id_ed25519.pub
# Copies the contents of the id_ed25519.pub file to your clipboard
Note
- Com o ao WSL (Subsistema do Windows para Linux), você pode usar o
clip.exe
. Caso contrário, seclip
não estiver funcionando, localize a pasta oculta.ssh
, abra o arquivo no seu editor de texto favorito e copie-o para a área de transferência. - Nas versões mais recentes do Windows que usam o Windows Terminal ou em qualquer outro lugar que use a linha de comando do PowerShell, você poderá receber um
ParseError
indicando queThe '<' operator is reserved for future use.
. Nesse caso, o seguinte comando alternativoclip
deve ser usado:
$ cat ~/.ssh/id_ed25519.pub | clip
# Copies the contents of the id_ed25519.pub file to your clipboard
$ cat ~/.ssh/id_ed25519.pub
# Then select and copy the contents of the id_ed25519.pub file
# displayed in the terminal to your clipboard
Tip
Como alternativa, você pode localizar a pasta oculta .ssh
, abrir o arquivo no seu editor de texto favorito e copiá-lo para a área de transferência.
-
No canto superior direito de qualquer página do GitHub, clique sua foto de perfil e, em seguida, clique em Configurações.
-
Na seção "Acesso" da barra lateral, clique em Chaves SSH e GPG.
-
Clique em Nova chave SSH ou Adicionar chave SSH.
-
No campo "Title" (Título), adicione uma etiqueta descritiva para a nova chave. Por exemplo, se estiver usando um laptop pessoal, você poderá chamar essa chave de "Laptop pessoal".
-
Selecione o tipo de chave: autenticação ou assinatura. Para saber mais sobre a assinatura de commit, confira Sobre a verificação de assinatura de commit.
-
No campo "Chave", cole sua chave pública.
-
Clique em Adicionar chave SSH.
-
Se solicitado, confirme acesso à sua conta em GitHub Enterprise Cloud. Para obter mais informações, confira "Modo sudo".
Note
Para saber mais sobre GitHub CLI, confira "Sobre o a CLI do GitHub".
Antes de poder usar o GitHub CLI para adicionar uma chave SSH à sua conta, você deve efetuar a autenticação no GitHub CLI. Para obter mais informações, confira "gh auth login
" na documentação da GitHub CLI.
Para adicionar uma chave SSH à sua conta do GitHub, use o subcomando ssh-key add
especificando a chave pública. Para chaves de autenticação, se for solicitado que você requisite escopos adicionais, siga as instruções na linha de comando.
gh ssh-key add KEY-FILE --type {authentication|signing}
Para incluir um título para a nova chave, use o sinalizador -t
ou --title
.
gh ssh-key add KEY-FILE --title "personal laptop"
Se você gerou sua chave SSH seguindo as instruções descritas em Gerando uma nova chave SSH e adicionando-a ao agente SSH, adicione a chave à sua conta com este comando.
gh ssh-key add ~/.ssh/id_ed25519.pub --type signing