Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Trabalhar com frase secreta da chave SSH

Você pode proteger suas chaves SSH e configurar um agente de autenticação para que não precise redigitar a senha toda vez que usar as chaves SSH.

Neste artigo

Com as chaves SSH, se alguém conseguir acessar seu computador, terá acesso a todos os sistemas que usam essas chaves. Para incluir uma camada extra de segurança, adicione uma frase secreta à sua chave SSH. Você pode usar ssh-agent para salvar sua frase secreta de forma segura e não precisar digitá-la novamente.

Adicionar ou alterar frase secreta

É possível alterar a frase secreta de uma chave privada sem gerar novamente o par de chaves. Basta digitar o seguinte comando:

$ ssh-keygen -p
# Start the SSH key creation process
> Enter file in which the key is (/Users/you/.ssh/id_rsa): [Hit enter]
> Key has comment '/Users/you/.ssh/id_rsa'
> Enter new passphrase (empty for no passphrase): [Digite a nova frase secreta]
> Enter same passphrase again: [Digite mais uma vez para garantir]
> Your identification has been saved with the new passphrase.

Caso a sua chave já tenha uma frase secreta, você precisará digitá-la antes de poder alterar para uma nova frase secreta.

Abrir automaticamente o ssh-agent no Git para Windows

Se você está usando o Git Shell instalado com o GitHub Desktop, não precisa seguir estas etapas. O GitHub Desktop abre automaticamente o ssh-agent para você.

Caso contrário, siga estas etapas para executar ssh-agent automaticamente quando você abrir o Git Bash ou o Git Shell. Copie as linhas a seguir e cole-as no arquivo ~/.profile ou ~/.bashrc no Git Shell:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

If your private key is not stored in one of the default locations (like ~/.ssh/id_rsa), you'll need to tell your SSH authentication agent where to find it. Para adicionar a chave ao ssh-agent, digite ssh-add ~/path/to/my_key. Para obter mais informações, consulte "Gerar uma nova chave SSH e adicioná-la ao ssh-agent".

Dica: se você quiser que o ssh-agent esqueça sua chave depois de algum tempo, configure-o para isso executando ssh-add -t <seconds>.

Agora, quando você executar o Git Bash pela primeira vez, sua frase secreta será solicitada:

> Initializing new SSH agent...
> succeeded
> Enter passphrase for /c/Users/you/.ssh/id_rsa:
> Identity added: /c/Users/you/.ssh/id_rsa (/c/Users/you/.ssh/id_rsa)
> Welcome to Git (version 1.6.0.2-preview20080923)
>
> Run 'git help git' to display the help index.
> Run 'git help ' to display help for specific commands.

O processo do ssh-agent continuará sendo executado até você fazer logoff, desligar o computador ou interromper o processo.

Salvar a frase secreta na keychain

No OS X Leopard até o OS X El Capitan, estes arquivos padrão de chave privada são processados de forma automática:

  • .ssh/id_rsa
  • .ssh/identity

Na primeira vez que você usar a chave, precisará digitar sua frase secreta. Se você optar por salvar a frase secreta com a keychain, não precisará digitá-la novamente.

Caso contrário, armazene a frase secreta na keychain quando adicionar a chave ao ssh-agent. Para obter mais informações, consulte "Adicionar sua chave SSH ao ssh-agent".

Leia mais

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato