Ramos da InformáticaDevOps e DevSecOpsGerar Chave SSH no GitHub: O Guia Definitivo

Gerar Chave SSH no GitHub: O Guia Definitivo

-

Ramos da Informática
JS TS IA

Pesquisa: Como você está usando IA na sua rotina Dev?

Responda em menos de 2 minutos e ajude a direcionar nossos próximos artigos técnicos, guias e conteúdos.

Responder Pesquisa →

Este é um tutorial sobre como gerar e utilizar chaves SSH no Git para trabalhar em seus projetos.

Para gerar chave SSH no GitHub existem duas formas de se autenticar no GitHub quando você faz um push: via HTTP e via SSH.

O HTTPS do inglês, Hyper Text Transfer Protocol Secure, em português, Protocolo de Transferência de HiperTexto Seguro. Nele seus commits são enviados através do seu login e senha do Github. Essa é a forma com mais segurança e recomendada, principalmente se você usa uma máquina compartilhada.

Dica de Leitura: Agora que você sabe como utilizar chaves SSH no Git, talvez esteja interessado em explorar mais sobre segurança em ambientes de desenvolvimento. Uma leitura recomendada é o artigo sobre Segurança em Docker: Lições de Incidentes Reais, que discute práticas essenciais para manter sua aplicação segura.

VAI GOSTAR:

Coleção de E-Books sobre Git e GitHub grátis

10 Comandos Git que todo Dev precisa saber

 

O segundo é o SSH do inglês Secure Shell, em português, Cápsula de Segurança. Nele não precisamos informar login e senha para cada acesso. Basta configurar as credenciais uma vez para realizar a conexão com o servidor remoto. É recomendada principalmente se apenas você tem acesso a máquina, pois as chaves são geradas no seu computador.

Via HTTP você fornece suas credenciais, da mesma forma que as forneceria ao fazer login no site do GitHub; e via SSH, na qual você usa um par de chaves – sendo uma pública e uma privada – para se autenticar sem usuário e senha.

O SSH, ou shell seguro, é um protocolo criptografado usado para administrar e se comunicar com servidores. Ao trabalhar com um servidor Linux, existem boas chances de você gastar a maior parte do seu tempo em uma sessão de terminal conectada ao seu servidor através do SSH.

Embora existam outras maneiras diferentes de fazer login em um servidor SSH, neste guia, iremos focar na configuração de chaves SSH. As chaves SSH oferecem uma maneira fácil e extremamente segura de fazer login no seu servidor. Por esse motivo, este é o método que recomendamos para todos os usuários.

Como as chaves SSH funcionam?

Um servidor SSH pode autenticar clientes usando uma variedade de métodos diferentes. O mais básico deles é a autenticação por senha, que embora fácil de usar, mas não é o mais seguro.

Apesar de as senhas serem enviadas ao servidor de maneira segura, elas geralmente não são complexas ou longas o suficiente para resistirem a invasores persistentes. O poder de processamento moderno combinado com scripts automatizados torna possível forçar a entrada de maneira bruta em uma conta protegida por senha. Embora existam outros métodos para adicionar segurança adicional (fail2ban, etc), as chaves SSH são comprovadamente uma alternativa confiável e segura.

Os pares de chaves SSH são duas chaves criptografadas e seguras que podem ser usadas para autenticar um cliente em um servidor SSH. Cada par de chaves consiste em uma chave pública e uma chave privada.

A chave privada é mantida pelo cliente e deve ser mantida em absoluto sigilo. Qualquer comprometimento da chave privada permitirá que o invasor faça login em servidores que estejam configurados com a chave pública associada sem autenticação adicional. Como uma forma de precaução adicional, a chave pode ser criptografada em disco com uma frase secreta.

A chave pública associada pode ser compartilhada livremente sem consequências negativas. A chave pública pode ser usada para criptografar mensagens que apenas a chave privada pode descriptografar. Essa propriedade é usada como uma maneira de autenticar usando o par de chaves.

Gerar Chave SSH no GitHub

A chave pública é enviada a um servidor remoto de sua preferência para que você possa fazer login via SSH. A chave é adicionada a um arquivo especial dentro da conta de usuário em que você estará fazendo login chamado ~/.ssh/authorized_keys.

Autentificar no git usando SSH

Quando um cliente tenta autenticar-se usando chaves SSH, o servidor testa o cliente para verificar se ele tem posse da chave privada. Se o cliente puder provar que possui a chave privada, a sessão do shell é gerada ou o comando solicitado é executado.

Primeiro, deve-se gerar um novo par de chaves usando o comando ssh-keygen:

ssh-keygen -t rsa -b 4096 -C "seu-email@seu-servidor.com"

O comando irá perguntar em qual arquivo você deseja salvar sua chave. Se você não tem nenhuma chave configurada, não tem problema usar o nome padrão (id_rsa). Em seguida, ele perguntará se você deseja usar uma senha que será perguntada toda vez que você fizer uma autenticação baseada nas suas chaves. Recomendo configurar uma senha se você compartilha seu computador com outras pessoas.

Enter passphrase (empty for no passphrase): [digite sua senha]
Enter same passphrase again: [digite sua senha novamente]

Finalmente, sua chave será salva na pasta ~/.ssh:

english-interview-debugger.sh
$ grep -r "senior_dev_communication" ./career
[CRITICAL_ERROR] Código sênior detectado, mas fluência falhou no runtime.
Motivo: Travou na hora de explicar a arquitetura (System Design) em inglês para o gringo.

O mercado internacional não quer um robô de gramática. Quer um dev que saiba defender uma tomada de decisão técnica sob pressão. Destrave sua conversão na Preply com aulas particulares focadas em TI.

$ ./fix-english.sh --target=remote-job
Achar Professor Particular ➔
Your identification has been saved in /Users/raffa-ferreira/.ssh/id_rsa.
Your public key has been saved in /Users/raffa-ferreira/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

Feito isso, vamos colocar as chaves no GitHub. Logue em sua conta, vá para as configurações de Chaves SSH e clique no botão Add SSH key. Lá você terá um campo de título, opcional, e o campo da chave, no qual você deverá colar a chave pública (e não a privada) que acabamos de gerar. Para facilitar o processo, copie a chave pública para a área de transferência usando o comando pbcopy:

pbcopy < ~/.ssh/id_rsa.pub

Depois da sua chave ter sido configurada no GitHub, já é possível dar um git push normalmente.

LEIA TAMBÉM

O que é Git? um Sistema de Controle de Versão

Apenas poder acessar o código dos outros colaboradores não é suficiente. Precisamos manter o histórico dos nossos arquivos. Mais: das nossas modificações, pois muitas vezes mudamos arquivos em grupo, num movimento único (um commit). Dessa forma, podemos voltar atrás e recuperar o estado do sistema como ele era ontem, ou no ano passado, e comparar as mudanças, para encontrar bug, para estudar otimizações.

Todos nossos arquivos, assim como seus históricos, ficam em um repositório e existiam vários sistemas que gerenciavam repositórios assim, como CVS e SVN. O Git é uma alternativa que tem um funcionamento mais interessante ainda: ele é distribuído e todo mundo tem uma cópia inteira do repositório, não apenas o “servidor principal”. Isso trás grandes vantagens que você não precisa aprender nesse exato momento.

O Git é um sistema de controle de versão distribuído e amplamente adotado. O Git nasceu e foi tomando espaço dos outros sistemas de controle. Seu criador principal é o mesmo que o do Linux: Linus Torvalds, e ganhou o coração das pessoas que trabalham com open source.

O que é GitHub?

O Github tem sim muita relação com o Git. GitHub é uma plataforma para gerenciar seu código e criar um ambiente de colaboração entre devs, utilizando o Git como sistema de controle. Ele vai facilitar o uso do Git, escondendo alguns detalhes mais complicados de setup. É lá que você provavelmente vai ter seu repositório e usar no dia a dia.

O sistema web que ele possui permite que você altere arquivos lá mesmo, apesar de não ser muito aconselhado, pois você não terá um editor, um ambiente de desenvolvimento e testes. Para se comunicar com o github e mexer nos arquivos do seu reposítorio, você pode usar a linha de comando, usando o comando do git e suas diretivas de commit, pull e push. Parece assustador? Há uma alternativa: usar um aplicativo desktop mais intuitivo, o GitHub Desktop, veja a seguir.

Github Desktop: usar Git sem precisar configurar e manter um servidor

O Github Desktop é uma casca para o comando do git, que esconde alguns termos que podem ser assustadores para quem está começando. Eu indico fortemente seu uso como primeiro passo, pois o sistema inteiro dá uma cara de “sincronizador de código”. Facilita a visualizações, o envio e recebimento das modificações e os famosos conflitos de merge, que você não precisa se preocupar nesse primeiro instante.

Dúvidas sobre Git e GitHub?

Então poste nos comentários que respondemos!

Perguntas Frequentes:

Como usar o Git?

Você vai usar o Git para guardar o versionamento de todo seu sistema, de maneira segura e distribuída. Deve sempre fazer pequenos commits e ‘pushar’ suas modificações em grupos que fazem sentido. Do outro lado, deve fazer os ‘pulls’ para sincronizar com as modificações de todo time. O Git é uma ferramenta, você vai precisar de um servidor principal (mesmo ele sendo distribuído) para facilitar seu trabalho. É aí que entra o Github como sendo uma das opções já prontas.

O que é um git commit?

Cada commit registra um momento de vida do seu projeto. É uma foto (snapshot) daquele instante dos arquivos. Com isso você consegue se referenciar àquele momento do projeto, podendo voltar a ele, analisá-lo, ver as diferenças com um outro momento. Não se esqueça que os commits são feitos no seu repositório local e você precisa ‘pushar’ (empurrá-los) de volta para a origem, para que outras pessoas tenham acesso a essas fotos e atualizem-se no tempo de vida.

Qual a diferença de GitHub e Git?

Git é a ferramenta que Linus criou. Se você quer utilizá-la, pode fazer tudo sozinho e hospedar um repositório principal para ter seu software versionado. Isso pode ser uma tarefa complicada. Algumas empresas, como Github, Bitbucket e Gitlab, já oferecem esse serviço, controlam o acesso dos usuários e oferecem ferramentas extras de gerenciamento de projetos. O Github é uma opção para que você use o Git de maneira mais simples, mas não é obrigatório, apesar de extremamente usado.

Quais são as alternativas ao Github?

O Bitbucket e o Gitlab são as duas principais alternativas de serviço Git além do Github.

📌 Perguntas Frequentes sobre Chaves SSH no Git

Como posso gerar uma chave SSH para o GitHub? Para gerar uma chave SSH, deve abrir o seu terminal e executar o comando ssh-keygen. Este processo criará um par de chaves (uma pública e uma privada) essencial para autenticar as suas ligações de forma segura, sem necessitar de introduzir os dados de acesso constantemente.

Qual é o comando exato para criar a chave SSH no Git? O comando padrão e recomendado é: ssh-keygen -t rsa -b 4096 -C "[email protected]" Esta instrução utiliza o algoritmo RSA com 4096 bits para assegurar um nível de encriptação robusto e atualizado.

Onde é que os ficheiros da chave SSH ficam guardados? Por predefinição, o sistema irá guardar as suas chaves na diretoria oculta ~/.ssh. O ficheiro que contém a sua chave privada terá o nome id_rsa, enquanto a chave pública (a que deve ser partilhada com o servidor) será guardada no ficheiro id_rsa.pub.

Como devo adicionar a chave pública ao meu repositório no GitHub? Primeiro, copie o conteúdo do ficheiro público (pode utilizar pbcopy < ~/.ssh/id_rsa.pub se estiver num Mac). De seguida, inicie sessão no GitHub, aceda às definições de SSH and GPG keys, carregue no botão New SSH key e cole o conteúdo copiado no campo correspondente.

É obrigatório configurar uma palavra-passe (passphrase) para a minha chave SSH? Não é estritamente obrigatório, o campo pode ficar em branco. No entanto, é altamente recomendado adicionar uma palavra-passe (passphrase), especialmente se partilhar o computador com outros utilizadores, adicionando assim uma camada extra de segurança contra acessos indevidos.

Ramos da Informática
JS TS IA

Pesquisa: Como você está usando IA na sua rotina Dev?

Responda em menos de 2 minutos e ajude a direcionar nossos próximos artigos técnicos, guias e conteúdos.

Responder Pesquisa →
Ramos da Informática
Ramos da Informáticahttps://ramosdainformatica.com.br
Ramos da Informática é um hub de comunidade dedicado a linguagens de programação, banco de dados, DevOps, Internet das Coisas (IoT), tecnologias da Indústria 4.0, cibersegurança e startups. Com curadoria de conteúdos de qualidade, o projeto é mantido por Ramos de Souza Janones.

Mais recentes

NVIDIA Lança Cosmos 3: Nova Plataforma de IA Física para Robôs Humanoides e Fábricas Inteligentes

NVIDIA apresenta plataforma full-stack para robôs humanoides, robotáxis e fábricas inteligentes Cosmos 3, robôs humanoides e ferramentas para robotáxis são...

Repositórios e Skills Essenciais para Claude Code, Cursor e Codex

Se você já integrou o Claude Code, Cursor ou Codex no seu fluxo de trabalho, sabe que o jogo...

17 Ferramentas No-Code para Validar Seu Negócio

No mundo dos negócios, construir um Produto Mínimo Viável (MVP) não pode ser sinônimo de queimar o caixa da...

Extensões PostgreSQL: Substitua Redis, MongoDB e Kafka com SQL

Dominar as extensões PostgreSQL deixou de ser apenas uma opção para se tornar a principal estratégia de arquitetura em...
E-Zine Dev

Evolua para Sênior

Estratégias de Node.js, arquitetura Limpa e IA que nunca publicamos no blog. Junte-se a +10.000 devs.

Assinar Gratuitamente Zero spam. Cancele quando quiser.

State of AI 2026: A Maturidade da Inteligência Artificial

A inteligência artificial deixou definitivamente o território das experimentações e se consolidou como uma peça de infraestrutura fundamental no...

Construindo um Servidor MCP Personalizado com Node.js

Um guia prático para construir seu próprio servidor MCP para enriquecer as respostas de ferramentas de IA com contexto...

Mais Lidos

Roadmap de Automação com IA: n8n, Node.js e LangChain.js

Descubra como combinar n8n, Node.js, LangChain.js, IA generativa e...

Migrar para PostgreSQL: Resolução de Alta Disponibilidade.

Solução permite que os clientes substituam os bancos de...

Proteção de APIs: Guia Definitivo de Segurança

A missão de um CISO é capacitar a empresa...

Assumiu um Projeto Pronto? O que Fazer Antes de Mudar o Código

Acabou de entrar em um novo emprego ou projeto?...
E-Zine Dev

Evolua para Sênior

Estratégias de Node.js, arquitetura Limpa e IA que nunca publicamos no blog. Junte-se a +10.000 devs.

Assinar Gratuitamente Zero spam. Cancele quando quiser.

Recursos da Comunidade

Carreira Internacional

JOB NA GRINGA

Meta de Salário Remoto
U$ 5.000/mês

O mapa completo para programadores do Brasil conquistarem contratos internacionais e mudarem de vida financeira.

  • Vagas exclusivas semanais: Membros acessam vagas com 7 dias de antecedência.
  • Workshops e lives gravadas: Buscar vagas não é óbvio. Nós te mostraremos como.
  • 498 Portais de vagas: Que contratam Brasileiros direto na sua dashboard.
  • Mentorias com Recrutadores: Encontros semanais ao vivo com Erika Linares.
  • Inglês diário com foco em conversação: Treine para entrevistas num ambiente sem julgamentos.
  • Suporte pós-contratação: Contabilidade e recebimento legal com a menor taxa.
Garantir Minha Vaga

Inscrição segura via Hotmart

Você vai gostarrelacionados
Continue aprendendo

E-Zine Dev Ramos

Quer dominar arquitetura e IA?

Junte-se a +10.000 profissionais. Receba semanalmente estratégias de Node.js, React e IA que nunca publicamos no blog.

Assinar Gratuitamente Zero spam. Cancele quando quiser.