Sobre a geração de chaves SSH
Se você ainda não tem uma chave SSH, você deve gerar uma nova chave SSH para usar para a autenticação. Se você não tem certeza se já tem uma chave SSH, você pode verificar se há chaves existentes. Para obter mais informações, consulte "Verificar as chaves SSH existentes".
Se não quiser reinserir a sua frase secreta toda vez que usar a sua chave SSH, você poderá adicionar sua chave ao agente SSH, que gerencia suas chaves SSH e lembra a sua frase secreta.
Gerar uma nova chave SSH
-
Abra TerminalTerminalGit Bash.
-
Cole o texto abaixo, substituindo o endereço de e-mail pelo seu GitHub Enterprise Server.
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Observação: Se você estiver usando um sistema legado que não é compatível com o algoritmo Ed25519, use:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Isto cria uma nova chave SSH, usando o nome de e-mail fornecido como uma etiqueta.
> Generating public/private algorithm key pair.
-
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.
> Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]
> Enter a file in which to save the key (/c/Users/you/.ssh/id_algorithm):[Press enter]
> Enter a file in which to save the key (/home/you/.ssh/algorithm): [Press enter]
-
Digite uma frase secreta segura no prompt. Para obter mais informações, consulte "Trabalhar com frases secretas da chave SSH".
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
Adicionar sua chave SSH ao ssh-agent
Antes de adicionar uma nova chave SSH ao agente para gerenciar suas chaves, você deve verificar as chaves SSH existentes 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
Dependendo do seu ambiente, talvez seja necessário usar um comando diferente. Por exemplo, é possível que você tenha de usar o acesso raiz executando
sudo -s -H
antes de iniciar o ssh-agent, ou você pode ter de usarexec ssh-agent bash
ouexec ssh-agent zsh
para executar o ssh-agent. -
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.-
Primeiro, verifique se o arquivo
~/.ssh/config
existe no local padrão.$ open ~/.ssh/config > The file /Users/you/.ssh/config does not exist.
-
Se o arquivo não existir, crie o arquivo.
$ touch ~/.ssh/config
-
Abra seu arquivo
~/.ssh/config
e modifique o arquivo para que contenha as seguintes linhas. Se o seu arquivo de chave SSH tiver um nome ou caminho diferente do exemplo de código, modifique o nome ou o caminho para corresponder à sua configuração atual.Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
Observação: Se você optou por não adicionar uma frase secreta à sua chave, você deve omitir a linha
UseKeychain
.Observação: Se você vir um erro como este
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
adicione uma linha de configuração adicional para a seção
Host *
:Host * IgnoreUnknown UseKeychain
-
-
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_ed25519 in the command with the name of your private key file.
$ ssh-add -K ~/.ssh/id_ed25519
Observação: A opção
-K
é a versão padrão da Apple dessh-add
, que armazena a frase secreta na sua keychain para você quando você adiciona uma chave SSH ao ssh-agent. Se você optou por não adicionar uma frase secreta à sua chave, execute o comando sem a opção-K
.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".
-
Adicione a chave SSH à sua conta em GitHub Enterprise Server. Para obter mais informações, consulte "Adicionar uma nova chave SSH à sua conta de GitHub".
Se você tiver o GitHub Desktop instalado, você pode usá-lo para clonar repositórios sem usar chaves SSH.
-
Certifique-se de que o ssh-agent está em execução. Você pode usar as instruções "Lançamento automático do ssh-agent" em "Trabalhando com palavras-chave SSH" ou iniciá-lo manualmente:
# start the ssh-agent in the background $ 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_ed25519 in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_ed25519
-
Adicione a chave SSH à sua conta em GitHub Enterprise Server. Para obter mais informações, consulte "Adicionar uma nova chave SSH à sua conta de GitHub".
-
Inicie o ssh-agent em segundo plano.
$ eval "$(ssh-agent -s)" > Agent pid 59566
Dependendo do seu ambiente, talvez seja necessário usar um comando diferente. Por exemplo, é possível que você tenha de usar o acesso raiz executando
sudo -s -H
antes de iniciar o ssh-agent, ou você pode ter de usarexec ssh-agent bash
ouexec ssh-agent zsh
para executar o ssh-agent. -
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_ed25519 in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_ed25519
-
Adicione a chave SSH à sua conta em GitHub Enterprise Server. Para obter mais informações, consulte "Adicionar uma nova chave SSH à sua conta de GitHub".