- Obligatorisk håndhævelse er permanent: Udviklere, der ikke aktiverer 2FA inden deres deadline, blokeres fra handlinger på nettet og fjernes fra organisationens arkiver.
- Genoprettelseskoder er din redningsvest: De 16 genererede genoprettelseskoder er til engangsbrug. Gem dem straks i en krypteret boks eller som en offline fysisk udskrift.
- Git-adgangskoder virker ikke længere: HTTPS Git-pushes kan ikke modtage interaktive 6-cifrede koder. Du skal bruge SSH-nøgler eller Personal Access Tokens (PATs) med specifikke rettigheder.
- Kryptografisk nødudvej: Hvis du mister din telefon og dine koder, kan du bevise ejerskab ved at signere en udfordring (challenge) med din lokalt registrerede private SSH-nøgle.
Oversigt over GitHubs obligatoriske 2FA-politik og sikkerhedsmæssige rationale
Historisk har kompromitterede udvikleradgangskoder udløst katastrofale sårbarheder i softwareforsyningskæden. Højprofilerede hændelser – såsom overtagelsen af event-stream, ua-parser-js, ctx og colors.js på npm og PyPI – viste, at en enkelt stjålet konto kunne kompromittere hundredtusindvis af afledte kommercielle systemer og kritiske infrastrukturprojekter.
Angribere opsnapper adgangskoder via lækkede databaser, phishing-kampagner og trojaniserede udvikler-dependencies. Da softwareingeniører rutinemæssigt har root- eller administratoradgang til kildekode og CI/CD-udrulningspipelines, blev sikring af udviklerkonti et spørgsmål om international infrastruktursikkerhed.
Som svar indførte GitHub et universelt krav i flere faser om tofaktorgodkendelse for alle kode-bidragydere, pakkeudgivere, virksomhedsbrugere og organisationsmedlemmer:
- GitHub-webgrænsefladen låses i en blokeringstilstand, der forhindrer pull request-gennemgang, oprettelse af kommentarer og administration af arkiver, indtil 2FA er fuldført.
- Virksomhedsorganisationer med 2FA-krav ekskluderer automatisk ikke-kompatible medlemmer, hvilket straks fjerner skriveadgang og arkivrettigheder.
- Automatiserede arbejdsgange, udgivelsesnøgler til npm-pakker og granulære rettigheder fastfryses, indtil kontoens sikkerhed er godkendt.
Trin-for-trin guide: Parring af TOTP-godkender
Selvom GitHub understøtter SMS, mobilnotifikationer og hardwarenøgler, repræsenterer RFC 6238 TOTP-godkenderapps (f.eks. Google Authenticator, Bitwarden, 2FA-Tool) guldstandarden for leverandøruafhængighed og offline-pålidelighed:
Trin 1: Gå til godkendelsesindstillinger
Log ind på GitHub. Klik på dit profilikon i øverste højre hjørne ➔ Settings. I venstre navigationsmenu under "Access" vælges Password and authentication.
Trin 2: Scan QR-koden og gem den rå Base32-hemmelighed
GitHub viser en QR-kode sammen med et tekstlink: "enter this text code instead".
A3J5N2O9...). Gem den i din krypterede adgangskodeadministrator. Denne alfanumeriske nøgle gør det muligt at genskabe godkendelseskoder på enhver enhed, hvis din telefon skulle gå tabt.
Trin 3: Indtast den 6-cifrede kode for at bekræfte
Scan koden med din mobilgodkender. Indtast det rullende 6-cifrede tal, der vises på din skærm, i GitHubs bekræftelsesfelt, og klik på "Continue".
Standarder for arkivering af genoprettelseskoder og kryptografisk hygiejne
Ved fuldført TOTP-parring viser GitHub straks et vindue med 16 hexadecimale koder adskilt af bindestreger (f.eks. d4a2b-98f12). At lukke dette vindue uden sikker opbevaring er den hyppigste årsag til, at udviklere låses permanent ude fra deres konti.
1. Kun til engangsbrug: Hver genoprettelseskode invalideres permanent efter første brug i stedet for en TOTP-kode.
2. Hovedbemyndigelse: En genoprettelseskode tilsidesætter manglende hardware og giver øjeblikkelig adgang til kontoen.
3. Zero-knowledge hashing på serveren: GitHub gemmer disse koder som irreversible ensrettede kryptografiske hashes. GitHub Support kan under ingen omstændigheder gendanne eller aflæse dine oprindelige koder!
Anbefalet tre-trins kold opbevaringsstrategi:
Download github-recovery-codes.txt og vedhæft den til dit GitHub-punkt i 1Password, Bitwarden eller KeePassXC ved hjælp af stærke Argon2id-nøgler.
Gem tekstfilen på et VeraCrypt-krypteret offline USB-drev, der opbevares frakoblet lokale netværk og cloud-synkronisering.
Udskriv en fysisk papirkopi, laminér den mod fugt, og lås den inde i en sikker boks i hjemmet til beskyttelse mod info-stealere.
Fallback-godkendelsesmetoder: SMS vs. passkeys vs. GitHub Mobile
GitHub tillader konfiguration af sekundære fallback-mekanismer. Her er vores sikkerhedsmæssige vurdering af de nuværende godkendelsesmetoder:
| Metode | Phishing-modstandsdygtighed | SIM-swap-sårbarhed | Vurdering og praktisk anvendelse |
|---|---|---|---|
| Passkeys / FIDO2-sikkerhedsnøgler | Absolut (WebAuthn origin binding forhindrer proxy-phishing) | Immun | ⭐⭐⭐⭐⭐ Højeste anbefaling (YubiKey / Touch ID) |
| TOTP-godkenderapp | Moderat (Sårbar over for omvendte proxies i realtid) | Immun | ⭐⭐⭐⭐ Universel standard (Nul netværksafhængighed) |
| GitHub Mobile Push-godkendelse | Moderat (Kræver 2-cifret nummerbekræftelse) | Immun | ⭐⭐⭐⭐ Fremragende til hverdagsbrug |
| SMS-bekræftelse som fallback | Nul (Ukrypteret SS7-signalering, nem at opsnappe) | Høj risiko | ⭐ Anbefales ikke til udviklere med vigtige arkiver |
Terminal Git-arbejdsgange: SSH-nøgler, PATs og 2FA-samspil
Efter aktivering af 2FA oplever udviklere ofte fejl i terminalen under rutinemæssige kode-pushes:
fatal: Authentication failed for 'https://github.com/username/repo.git/'
Teknisk begrundelse: Git-protokollen kan ikke håndtere interaktive dialoger om 6-cifrede TOTP-koder. Derfor deaktiverede GitHub permanent adgangskodegodkendelse for HTTPS Git-forespørgsler, når 2FA er trådt i kraft.
Anvender asymmetrisk kryptografi (anbefalet: ed25519). SSH-forbindelser godkendes via lokale private nøgler og omgår web-2FA helt uden gentagne login-prompts.
Hvis HTTPS-forbindelse er et krav, gå til Settings ➔ Developer settings ➔ Personal access tokens for at oprette en afgrænset token. Når du bliver bedt om adgangskode i terminalen, indsætter du din PAT i stedet for din kontoadgangskode.
SSH commit-signering vs. godkendelse: Bemærk, at det at bruge en SSH-nøgle til at klone og pushe er adskilt fra kryptografisk commit-signering. Du kan bruge det samme Ed25519-nøglepar til at signere commits med git config commit.gpgsign true og git config gpg.format ssh, hvilket giver verificerede badges på GitHub sammen med streng 2FA-adgangskontrol.
Katastrofegenopretning: Oplåsning af låste konti uden 2FA
I tilfælde af en katastrofal situation, hvor din 2FA-telefon er væk, og dit dokument med genoprettelseskoder er tabt, tilbyder GitHub en sidste kryptografisk redningskrans: SSH-nøglesignatur-udfordringen (SSH Key Signature Challenge).
Test din hemmelige GitHub TOTP-nøgle lokalt
Før du afslutter opsætningen, kan du teste din rå Base32-hemmelige nøgle i 2FA-Tool. Alle beregninger udføres lokalt via browserens Web Crypto uden nogen servertransmission.
📚 Relaterede sikkerhedsvejledninger
Sikker overførsel af 2FA-konti mellem smartphones med offline QR-koder og Cloud Sync.
Sådan gendanner du adgang på Google, Microsoft, Steam, Binance, Apple og Discord.
RFC 4226 til RFC 6238: Matematisk hash-afkortning, desynkronisering og udbredelse på nettet.