O que é chave SSH do Git?
Uma chave SSH é a credencial de acesso para o protocolo de rede SSH (shell seguro). Esse protocolo de rede segura autenticado e criptografado é usado para comunicação remota entre máquinas em rede aberta não segura. O SSH é usado para transferência remota de arquivos, gerenciamento de rede e acesso remoto ao sistema operacional. O acrônimo SSH também é usado para descrever um conjunto de ferramentas usadas para interagir com o protocolo SSH.
O SSH usa um par de chaves para iniciar um aperto de mãos seguro entre partes remotas. O par de chaves contém uma chave pública e privada. A nomenclatura privada versus pública pode ser confusa, pois ambas são chamadas de chaves. É mais útil pensar na chave pública como "fechadura" e na chave privada como a "chave". Você concede o “bloqueio” público a partes remotas para criptografar ou “bloquear” os dados. Esses dados são abertos com a chave “privada” que você mantém em local seguro.
Como criar chave SSH
As chaves SSH são geradas por meio de algoritmo criptográfico de chave pública, sendo o mais comum o RSA ou o DSA. Em um nível muito alto, as chaves SSH são geradas por meio de fórmula matemática que leva 2 números primos e uma variável de semente aleatória para gerar a chave pública e privada. Essa é uma fórmula unidirecional que garante que a chave pública possa ser derivada da chave privada, mas a chave privada não pode ser derivada da chave pública.
As chaves SSH são criadas usando uma ferramenta de geração de chaves. O conjunto de ferramentas de linha de comando SSH inclui uma ferramenta de keygen. A maioria dos provedores de hospedagem git oferece guias sobre como criar chave SSH.
Gerar chave SSH no Mac e Linux
Os sistemas operacionais OSx e Linux têm aplicativos de terminal modernos e abrangentes que vêm com o pacote SSH instalado. O processo para criar chave SSH é o mesmo entre eles.
1. Execute o seguinte para iniciar a criação da chave
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Material relacionado
Folha de consulta do Git
VER SOLUÇÃO
Aprenda a usar o Git com o Bitbucket Cloud
Esse comando vai criar nova chave SSH usando o e-mail como categoria.
2. Em seguida, você vai ser solicitado a "Inserir arquivo no qual salvar a chave."
Você pode especificar um local de arquivo ou pressionar “Enter” para aceitar o local padrão do arquivo.
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
3. O próximo prompt vai solicitar uma frase secreta. A frase secreta vai adicionar uma camada adicional de segurança ao SSH e vai ser necessária sempre que a chave SSH for usada. Se alguém obtiver acesso ao computador em que as chaves privadas estão armazenadas, também vai poder obter acesso a qualquer sistema que use essa chave. Adicionar uma frase secreta às chaves vai evitar esse cenário.
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
Nesse ponto, vai ser gerada nova chave SSH no caminho do arquivo especificado mais atrás.
4. Adicione a nova chave SSH ao ssh-agent
O ssh-agent é outro programa que faz parte do conjunto de ferramentas SSH. O ssh-agent é responsável por manter as chaves privadas. Pense nisso como um chaveiro. Além de manter chaves privadas, ele também intermedia solicitações para assinar solicitações SSH com as chaves privadas para que as chaves privadas nunca sejam transmitidas com insegurança.
Antes de adicionar a nova chave SSH ao ssh-agent, primeiro verifique se o ssh-agent está sendo executado ao executar:
$ eval "$(ssh-agent -s)"
> Agent pid 59566
Quando o ssh-agent estiver em execução, o comando a seguir vai adicionar a nova chave SSH ao agente SSH local.
ssh-add -K /Users/you/.ssh/id_rsa
A nova chave SSH agora está registrada e pronta para uso!
Gerar chave SSH no Windows
Os ambientes Windows não têm um shell Unix padrão. Programas de shell externos vão precisar ser instalados para ter a experiência completa de keygen. A opção mais simples é utilizar o Git Bash. Depois que o Git Bash é instalado, as mesmas etapas para Linux e Mac podem ser seguidas dentro do shell do Git Bash.
Subsistema Windows Linux
Ambientes Windows modernos oferecem um subsistema Windows Linux. O subsistema Windows Linux oferece um shell Linux completo dentro de um ambiente Windows tradicional. Se um subsistema Linux estiver disponível, as mesmas etapas discutidas mais atrás para Linux e Mac podem ser seguidas no subsistema Windows Linux.
Resumo
As chaves SSH são usadas para autenticar conexões seguras. Seguindo este guia, você vai poder criar e começar a usar uma chave SSH. O Git é capaz de usar chaves SSH em vez da autenticação de senha tradicional ao enviar ou buscar para repositórios remotos. Soluções git hospedadas modernas, como o Bitbucket, suportam autenticação de chave SSH.
Compartilhar este artigo
Próximo tópico
Leitura recomendada
Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.