Guias de Segurança
Configurando a autenticação de dois fatores (2FA) no GitHub: app autenticador, passkeys, códigos de recuperação e o que fazer se perder o celular
Como configurar o 2FA no GitHub, com base no GitHub Docs: primeiro um app autenticador, passkey como reserva, onde guardar os códigos de recuperação, recuperar o acesso após perder o aparelho (até 3 dias úteis) e trocar o SMS.
Para quem é: quem quer adicionar a autenticação de dois fatores (2FA: provar que é você com um app ou uma chave, além da senha) à própria conta do GitHub, quem recebeu o aviso do GitHub para "ativar o 2FA" e quem trocou ou perdeu o celular e não consegue mais gerar o código. Este guia se baseia no GitHub Docs, a documentação oficial do GitHub. A interface do GitHub é em inglês, então os nomes dos botões aparecem em inglês, exatamente como na tela, com a tradução entre parênteses quando ajuda.
Quem é obrigado a usar 2FA no GitHub
Desde março de 2023, o GitHub vem tornando o 2FA obrigatório, um grupo de cada vez, para usuários que contribuem com código no GitHub.com. O GitHub Docs lista estes gatilhos:
- Publicar um app ou uma action para outras pessoas
- Criar uma release do seu repositório
- Contribuir com repositórios específicos de alta importância (como projetos acompanhados pela Open Source Security Foundation), ou ser administrador ou colaborador de um deles
- Ser dono de uma organização que contém repositórios ou outros usuários
- Ser administrador ou colaborador de um repositório que publicou um ou mais pacotes
- Ser administrador de uma enterprise
O GitHub observa que esses critérios podem mudar com o tempo. Quando seu grupo é selecionado, você recebe um e-mail de notificação, começa um prazo de 45 dias para se inscrever e aparecem banners no GitHub.com. Se você nunca recebeu o e-mail, não está num grupo obrigatório, mas o GitHub recomenda fortemente ativar o 2FA mesmo assim.
Depois da carência de 7 dias, você não consegue acessar o GitHub.com até ativar o 2FA. Os tokens de acesso pessoal (tokens de API) e os tokens OAuth existentes continuam funcionando, para não quebrar automações. Uma conta bloqueada, porém, não consegue autorizar novos apps nem criar novos tokens.
A verificação por e-mail não conta como 2FA
Contas sem 2FA podem ter de confirmar um aparelho novo com um código enviado por e-mail. O GitHub Docs deixa claro que essa verificação por e-mail não é 2FA.
O motivo: quem controla sua caixa de entrada consegue tanto redefinir sua senha quanto passar pela verificação por e-mail. O segundo fator precisa ser algo separado do seu e-mail, como um app autenticador ou uma passkey.
Qual método usar
O GitHub aceita cinco métodos de 2FA. O GitHub Docs recomenda um app autenticador TOTP como método principal e uma passkey ou chave de segurança como reserva. Se você não tiver nenhuma das duas, ele sugere o GitHub Mobile como uma boa reserva.
| Método | Pode ser o primeiro método? | Posição do GitHub Docs | Observações |
|---|---|---|---|
| App autenticador (TOTP) | Sim | Método principal recomendado | O GitHub recomenda apps com backup na nuvem |
| SMS (mensagem de texto) | Sim | Não recomendado | Pode ser interceptado e não resiste a phishing; não está disponível em todos os países |
| Passkey | Não (depois do TOTP ou SMS) | Reserva recomendada | Cumpre senha e 2FA num só passo |
| Chave de segurança | Não (depois do TOTP ou SMS) | Reserva recomendada | Conta só como segundo fator, usada com a senha |
| GitHub Mobile | Não (depois do TOTP ou SMS) | Reserva quando faltam passkey ou chave | Você aprova uma notificação push no app |
TOTP (senha de uso único baseada em tempo) é um app que mostra um novo número de 6 dígitos a cada 30 segundos. O GitHub não exige um app específico, então Google Authenticator, Microsoft Authenticator, 1Password ou qualquer outro app TOTP funciona.
Passkeys e chaves de segurança não podem ser o primeiro método porque, segundo o GitHub Docs, por enquanto são fáceis de perder e sincronizam entre uma gama estreita demais de aparelhos. Então a ordem é: ative o 2FA com um app autenticador e depois adicione uma passkey.
Principal: app autenticador
Um app TOTP no celular, com o backup na nuvem ativado
Reserva: passkey ou chave de segurança
Uma passkey no computador ou uma chave física, para que perder o celular não te tranque fora
Último recurso: códigos de recuperação
16 códigos, guardados longe do celular, por exemplo num gerenciador de senhas
Passos de configuração (comece com um app autenticador)
Instale um app autenticador
Instale um app TOTP no celular ou no computador. O GitHub Docs recomenda um que faça backup dos códigos na nuvem, para que um aparelho novo gere os mesmos códigos depois de uma troca ou perda do celular.
Abra Password and authentication
Clique na sua foto de perfil no canto superior direito de qualquer página do GitHub e depois em Settings. Na seção Access da barra lateral, clique em Password and authentication (senha e autenticação).
Ative o 2FA e escaneie o QR code
Na seção Two-factor authentication, clique em Enable two-factor authentication. Escaneie o QR code com o app e digite o código de 6 dígitos no campo em "Verify the code from the app" (verifique o código do app).
Se não conseguir escanear, clique em setup key para ver um código que você pode digitar no app manualmente.
Salve os códigos de recuperação e conclua
Em "Save your recovery codes" (salve seus códigos de recuperação), clique em Download. Depois de salvá-los, clique em I have saved my recovery codes para ativar o 2FA. Onde guardá-los está na próxima seção.
Adicione uma passkey como segundo método
Na mesma página, em "Passkeys", clique em Add a passkey, confirme com sua senha ou outro método e siga as instruções. Autenticadores da plataforma como Windows Hello, Face ID e Touch ID podem ser registrados como passkeys.
Para uma chave de segurança física, clique em Add ao lado de "Security keys" e depois em Register new security key. Para o GitHub Mobile, entre no app e permita as notificações push; o aparelho passa a estar disponível para o 2FA.
Faça login com 2FA em até 28 dias
Depois de ativar o 2FA, sua conta entra num período de verificação de 28 dias. Um login com 2FA bem-sucedido nesse intervalo o encerra. Se você chegar ao 28º dia sem nenhum, o GitHub pede que você faça o 2FA e, se falhar, você terá de configurar o 2FA de novo.
Onde guardar os códigos de recuperação
Os códigos de recuperação são códigos de uso único que deixam você voltar à conta quando todos os métodos de 2FA estão indisponíveis. São 16, e cada um deixa de funcionar depois de usado.
Bons lugares
- Um gerenciador de senhas (o GitHub Docs recomenda)
- Uma cópia impressa guardada num lugar conhecido em casa
- Armazenamento externo criptografado
Lugares a evitar
- Só no mesmo celular do app autenticador (perdeu o celular, perdeu os dois)
- Esquecidos na pasta Downloads (nome padrão github-recovery-codes.txt)
- Enviados a alguém por chat ou e-mail
Para vê-los de novo depois, clique em View ao lado de "Recovery codes" na página Password and authentication e use Download, Print ou Copy. Gerar novos códigos de recuperação invalida todos os códigos gerados antes, então salve o novo conjunto na hora.
O GitHub Docs também lista chaves SSH e tokens de acesso pessoal como métodos de recuperação. Ele recomenda manter os cookies do GitHub.com: se o seu navegador apaga os cookies todo dia, você nunca terá um aparelho verificado para a recuperação, porque é o cookie _device_id que comprova que você já usou aquele aparelho antes.
Se você perdeu ou trocou de celular
O que você ainda tem decide se você volta na hora ou espera uma análise. Tente nesta ordem.
| O que você ainda tem | O que fazer | Quanto tempo leva |
|---|---|---|
| Um código de recuperação | Na tela de login, More options e depois 2FA recovery code | Na hora |
| Uma passkey ou chave de segurança | Faça login com ela | Na hora |
| Um backup do app autenticador | Restaure o app no celular novo | Na hora |
| Sua senha mais um aparelho usado antes, uma chave SSH ou um token de acesso pessoal | More options e depois Begin account or email recovery | Até três dias úteis para a análise do Suporte do GitHub |
| Nada disso | A conta não pode ser recuperada; desvincule seu e-mail e use-o numa conta nova | — |
Tente primeiro um código de recuperação ou uma passkey
Acesse https://github.com/login, digite seu nome de usuário e senha e, quando o 2FA for pedido, abra "More options" (mais opções). Escolha 2FA recovery code e digite um código, ou use sua passkey. Assim que entrar, configure o 2FA de novo no celular novo imediatamente.
Se não tiver nada, peça a recuperação da conta
Em "More options", clique em Begin account or email recovery e digite a senha de uso único enviada aos seus endereços de e-mail. Depois escolha um fator de verificação para a recuperação: Verify with this device (um aparelho que você já usou com esta conta), uma chave SSH ou um token de acesso pessoal.
Um membro do Suporte do GitHub analisa o pedido e responde por e-mail em até três dias úteis. Pedidos extras enviados nesse período não são analisados. Se você encontrar seus códigos de recuperação ou outro método de 2FA durante o período de espera de 3 a 5 dias, pode usá-los a qualquer momento.
Algumas contas não podem ser restauradas nem pelo Suporte do GitHub
O GitHub Docs afirma que, por motivos de segurança, o Suporte do GitHub não restaura o acesso a uma conta com 2FA se você perder tanto as credenciais de 2FA quanto os métodos de recuperação. Chaves SSH também são removidas das contas depois de um período de inatividade, então uma chave antiga pode não valer.
Nesse caso, a única opção é desvincular seu endereço de e-mail da conta bloqueada e vinculá-lo a uma conta nova ou existente. Configure o método de reserva e salve os códigos de recuperação no mesmo dia em que ativar o 2FA.
Trocando o SMS por um app autenticador
Se você já usa SMS, pode adicionar ou trocar métodos sem desativar o 2FA. Como o 2FA continua ligado, seus códigos de recuperação e sua participação em organizações que exigem 2FA são mantidos.
Adicione o app autenticador
Em Password and authentication, em "Two-factor methods", clique em Add ao lado do método de app autenticador (TOTP). Escaneie o QR code, digite o código de 6 dígitos e clique em Save.
Torne-o seu método preferido
Em "Two-factor authentication", no campo "Preferred 2FA method" (método de 2FA preferido), escolha o app autenticador na lista. Ele passa a ser o método mostrado primeiro no login.
Remova o SMS se não precisar mais dele
Na lista "Two-factor methods", remova o SMS pelo menu ao lado dele. O GitHub Docs orienta os membros de organizações que bloqueiam métodos inseguros a configurar um método seguro e depois remover o SMS. Antes de remover, confirme que consegue entrar com o app.
Algumas organizações bloqueiam membros que usam SMS
Os donos de organizações podem ativar "Only allow secure two-factor methods" (permitir só métodos de dois fatores seguros). O GitHub Docs define como métodos seguros as passkeys, as chaves de segurança, os apps autenticadores e o GitHub Mobile. Numa organização assim, um membro com qualquer método por SMS configurado não consegue acessar os recursos da organização.
Outras configurações para revisar enquanto está lá
O 2FA protege o login. Tokens e chaves que você já emitiu e apps que você já autorizou continuam sendo caminhos separados para entrar na sua conta. Revisá-los no mesmo dia leva só alguns minutos a mais.
- Adicionar uma passkey
- Password and authentication, em "Passkeys", Add a passkey. Funciona como reserva do 2FA e dispensa a senha
- Usar tokens com validade
- Settings, Developer settings, Personal access tokens, Fine-grained tokens, Generate new token. Escolha um Expiration (validade) e limite o acesso aos repositórios
- Limpar apps autorizados
- Settings, Applications, as abas Authorized OAuth Apps e Authorized GitHub Apps. Revogue o que você não reconhece ou não usa mais
- Revisar chaves SSH
- Settings, SSH and GPG keys. Apague chaves que você não reconhece ou que são antigas
- Proteção de push para você
- Settings, Code security, "Push protection for yourself". Bloqueia pushes com segredos para repositórios públicos (ativada por padrão)
- Alertas do Dependabot
- Settings, Code security, Dependabot alerts, Enable all. Você também pode ativá-los automaticamente para novos repositórios
- Log de segurança
- Settings, Security log (na seção Archives). Lista as ações dos últimos 90 dias
Prefira tokens fine-grained aos clássicos
Um token de acesso pessoal (PAT: uma sequência usada no lugar da senha para operações de API e git) existe em dois tipos, classic e fine-grained. O GitHub recomenda tokens fine-grained sempre que possível, porque um token clássico alcança todos os repositórios das organizações a que você tem acesso e todos os repositórios da sua conta pessoal.
O GitHub remove automaticamente tokens que não foram usados por um ano, mas ainda assim recomenda fortemente definir uma validade. Se você só precisa do GitHub na linha de comando, o GitHub CLI ou o Git Credential Manager evitam criar um token. Por que apagar um token vazado de um repositório não basta está em 543.699 credenciais publicadas no GitHub ainda funcionavam.
Onde a varredura de segredos e a proteção de push se aplicam
A varredura de segredos (secret scanning: detecção automática de chaves de API e segredos parecidos no código) roda de graça e automaticamente em repositórios públicos. A proteção de push do repositório é ativada em Settings, Advanced Security do repositório, ativando Secret Protection e depois Push protection.
Repositórios privados de uma organização precisam do GitHub Secret Protection, que é pago. Repositórios privados de uma conta pessoal comum não são cobertos. Para eles, uma verificação local antes do commit, como o gitleaks, preenche a lacuna.
Para donos de organizações: exija 2FA dos membros
Em Settings da organização, em Authentication security, selecione "Require two-factor authentication for everyone in your organization" (exigir 2FA de todos na organização) e clique em Save. Isso está disponível nos planos GitHub Free e GitHub Team. Adicionar "Only allow secure two-factor methods" também barra membros que usam SMS.
Depois de ativado, membros sem 2FA perdem o acesso aos recursos da organização, e colaboradores externos sem 2FA são removidos. Bots e contas de serviço também contam, então avise as pessoas com antecedência e confira na página People quem já usa 2FA antes de ativar.
Checklist
| Tarefa | Onde | Tempo |
|---|---|---|
| Ativar o 2FA com um app autenticador | Settings, Password and authentication | 5 min |
| Salvar os códigos de recuperação num gerenciador de senhas | Mesma página, Recovery codes, View | 2 min |
| Adicionar uma passkey ou chave de segurança | Mesma página, Passkeys / Security keys | 3 min |
| Fazer login com 2FA em até 28 dias | — | — |
| Trocar tokens clássicos por fine-grained com validade | Settings, Developer settings | 5 min por token |
| Limpar apps autorizados e chaves SSH | Settings, Applications / SSH and GPG keys | 5 min |
| Conferir a proteção de push e os alertas do Dependabot | Settings, Code security | 2 min |
| Se você é dono de uma organização, exigir 2FA | Settings da organização, Authentication security | Alguns dias, incluindo o aviso |
Fontes (registro público)
Os passos, prazos e comportamentos deste guia foram conferidos com o GitHub Docs e outras páginas oficiais em 6 de outubro de 2026. As telas e os critérios do GitHub mudam, então confira as páginas de origem antes de agir.
- Configurar o 2FA: GitHub Docs, "Configuring two-factor authentication" / "Changing your two-factor authentication method" / "Countries where SMS authentication is supported"
- 2FA obrigatório: GitHub Docs, "About mandatory two-factor authentication" / GitHub Blog, "Raising the bar for software security: next steps for GitHub.com 2FA" (14 de dezembro de 2022)
- Recuperação: GitHub Docs, "Configuring two-factor authentication recovery methods" / "Recovering your account if you lose your 2FA credentials"
- Tokens: GitHub Docs, "Managing your personal access tokens"
- Apps e chaves SSH: GitHub Docs, "Reviewing your authorized OAuth apps" / "Reviewing and revoking authorization of GitHub Apps" / "Reviewing your SSH keys" / "Reviewing your security log"
- Varredura de segredos e Dependabot: GitHub Docs, "About secret scanning" / "Managing push protection for users" / "Enabling push protection for your repository" / "Configuring Dependabot alerts"
- 2FA na organização: GitHub Docs, "Requiring two-factor authentication in your organization"
Leia a seguir
- Escolher um método: Escolhendo MFA do jeito certo: o que significa "resistente a phishing" e por que o SMS é fraco / Glossário: O que é 2FA? / O que é uma passkey?
- Quando um token vaza: 543.699 credenciais publicadas no GitHub ainda funcionavam (estudo de 2026)
- Barre segredos antes do commit: Barre segredos antes do commit com o gitleaks
- Restrinja as permissões das chaves: Privilégio mínimo para chaves SSH
- Onde hospedar: Git auto-hospedado vs GitHub: qual é realmente mais seguro?
FAQ
QOnde ativo a autenticação de dois fatores no GitHub?
Clique na sua foto de perfil no canto superior direito, escolha Settings (configurações) e, na seção Access da barra lateral, clique em Password and authentication (senha e autenticação). Na seção Two-factor authentication, clique em Enable two-factor authentication e configure com um app autenticador (TOTP) ou por SMS. Passkeys, chaves de segurança e o GitHub Mobile podem ser adicionados depois que o TOTP ou o SMS estiver configurado.
QO 2FA é obrigatório no GitHub?
Desde março de 2023, o GitHub vem exigindo o 2FA, em grupos, de usuários que contribuem com código no GitHub.com. Entre os gatilhos estão criar uma release, publicar um app ou uma action, ser administrador ou colaborador de um repositório que publicou pacotes e ser dono de uma organização. Os usuários selecionados recebem um e-mail, um prazo de 45 dias para se inscrever e um período de carência de 7 dias; depois disso, o GitHub.com fica indisponível até o 2FA ser ativado. Quem não foi notificado não é obrigado, mas o GitHub recomenda fortemente.
QPosso usar SMS no 2FA do GitHub?
Nos países compatíveis, sim; o GitHub publica a lista. Mas o GitHub Docs recomenda fortemente um app autenticador TOTP no lugar, porque o SMS pode ser interceptado, não resiste a phishing e é menos confiável. Algumas organizações bloqueiam membros que têm o 2FA por SMS configurado.
QPerdi ou troquei de celular e não consigo gerar o código de 2FA do GitHub. E agora?
Primeiro procure seus códigos de recuperação (o nome padrão do arquivo é github-recovery-codes.txt) e digite um deles em More options e depois 2FA recovery code, na tela de login. Uma passkey ou chave de segurança registrada também funciona. Se você não tiver nada disso, escolha Begin account or email recovery, confirme uma senha de uso único enviada por e-mail e comprove sua identidade com um aparelho usado antes, uma chave SSH ou um token de acesso pessoal. O Suporte do GitHub analisa o pedido e responde por e-mail em até três dias úteis.
QTambém perdi os códigos de recuperação. O Suporte do GitHub consegue restaurar minha conta?
Não. O GitHub Docs afirma que, por motivos de segurança, o Suporte do GitHub não consegue restaurar o acesso a uma conta com 2FA se você perder as credenciais de 2FA e os métodos de recuperação. Nesse ponto a conta está perdida; o que você pode fazer é desvincular seu endereço de e-mail da conta bloqueada e usá-lo numa conta nova.
QComo troco o SMS por um app autenticador?
Em Password and authentication, em Two-factor methods, clique em Add ao lado do método de app autenticador (TOTP), escaneie o QR code, digite o código de 6 dígitos e clique em Save. Depois escolha o app em Preferred 2FA method e remova o SMS se não quiser mais usá-lo. Você não precisa desativar o 2FA, então seus códigos de recuperação continuam válidos.