Gerar uma nova chave SSH e adicioná-la ao ssh-agent
Depois de verificar a existência de chaves SSH, é possível gerar uma nova chave SSH para autenticação e adicioná-la ao ssh-agent.
Neste artigo
Se você ainda não tem uma chave SSH, você deve gerar uma nova chave SSH. Caso não tenha certeza de que já tem uma chave SSH, procure por chaves existentes.
Caso não queira reinserir sua frase secreta cada vez que usa a chave SSH, é possível adicionar sua chave ao SSH agent, que poderá gerenciar suas chaves SSH e lembrar sua frase secreta.
Gerar uma nova chave SSH
-
Open TerminalTerminalGit Bash.
-
Cole o texto abaixo, substituindo o endereço de e-mail pelo seu GitHub Enterprise.
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
O comando criará uma nova chave SSH, usando o e-mail fornecido como uma etiqueta.
> Gerar par de chaves rsa pública/privada.
-
Quando aparecer a solicitação "Enter a file in which to save the key" (Insira um arquivo no qual salvar a chave), presssione Enter. O local padrão do arquivo será aceito.
> Insira um arquivo no qual salvar a chave (/Users/you/.ssh/id_rsa): [Press enter]
> Insira um arquivo no qual salvar a chave (/c/Users/you/.ssh/id_rsa):[Press enter]
> Insira um arquivo no qual salvar a chave (/home/you/.ssh/id_rsa): [Press enter]
-
Digite uma frase secreta segura no prompt. Para obter mais informações, consulte "Trabalhar com frases secretas da chave SSH".
> Insira frase secreta (vazio para sem frase secreta): [Type a passphrase] > Insira novamente a frase secreta: [Type passphrase again]
Adicionar sua chave SSH ao ssh-agent
Antes de adicionar uma nova chave SSH ao ssh-agent para gerenciar suas chaves, você deve ter verificado a existência de chaves SSH e gerado uma nova chave SSH. Ao adicionar sua chave SSH ao agent, use o comando padrão "ssh-add" do macOS, e não um aplicativo instalado por macports, homebrew ou qualquer outra fonte externa.
-
Inicie o ssh-agent em segundo plano.
$ eval "$(ssh-agent -s)" > Agent pid 59566
-
Se estiver usando macOS Sierra 10.12.2 ou posterior, será necessário modificar seu arquivo
~/.ssh/config
para carregar automaticamente as chaves no ssh-agent e armazenar as frases secretas em seu keychain.Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
-
Adicione sua chave SSH privada ao ssh-agent e armazene sua frase secreta no keychain. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add -K ~/.ssh/id_rsa
Observação: a opção
-K
está presente na versão padrão da Apple dossh-add
e armazena a frase secreta no keychain quando você adiciona uma chave SSH ao ssh-agent.Caso não tenha a versão standard da Apple instalada, você poderá receber uma mensagem de erro. Para obter mais informações sobre como resolver esse erro, consulte "Erro: ssh-add: opção ilícita -- K".
Se você tiver o GitHub Desktop instalado, você pode usá-lo para clonar repositórios sem usar chaves SSH. Ele também tem a ferramenta Git Bash, que é o modo preferido de executar comandos git
no Windows.
-
Certifique-se de que o ssh-agent está em execução:
- Se estiver usando o Git Shell instalado com GitHub Desktop, o ssh-agent deverá estar funcionando.
-
Se estiver usando outro prompt de terminal, como o Git para Windows, é possível usar as instruções "Abrir automaticamente o ssh-agent", que estão em "Trabalhar com frases secretas de chaves SSH" ou iniciá-lo manualmente:
# inicie o ssh-agent em segundo plano $ eval $(ssh-agent -s) > Agent pid 59566
-
Adicione sua chave SSH privada ao ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_rsa
-
Inicie o ssh-agent em segundo plano.
$ eval "$(ssh-agent -s)" > Agent pid 59566
-
Adicione sua chave SSH privada ao ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_rsa