- Obligatorisk håndheving er permanent: Utviklere som unnlater å konfigurere 2FA innen den oppsatte tidsfristen, blokkeres fra å utføre handlinger i nettgrensesnittet og mister tilgangen til organisasjoners repositorier.
- Gjenopprettingskoder er redningsvesten din: De 16 genererte gjenopprettingskodene er for engangsbruk. Lagre dem umiddelbart i et kryptert passordhvelv eller i en fysisk frakoblet papirutskrift.
- Git-passord fungerer ikke lenger: HTTPS Git-push kan ikke håndtere interaktive 6-sifrede koder. Du må bruke SSH-nøkler eller avgrensede Personal Access Tokens (PAT-er).
- Kryptografisk siste utvei: Hvis du mister både telefonen og kodene, kan du bevise eierskap ved å signere en identitetsutfordring ved hjelp av din forhåndsregistrerte lokale private SSH-nøkkel.
Oversikt over GitHubs obligatoriske 2FA-retningslinje og sikkerhetsbegrunnelse
Historisk har kompromitterte utvikler-akkreditiver utløst katastrofale sårbarheter i programvareforsyningskjeden. Høyprofilerte hendelser – som overtagelsen av event-stream, ua-parser-js, ctx og colors.js på npm og PyPI – demonstrerte at én enkelt stjålet konto kunne kompromittere hundretusenvis av nedstrøms kommersielle prosjekter og samfunnskritisk infrastruktur.
Angripere samler inn påloggingsinformasjon ved hjelp av globale databaser med lekkede passord (credential stuffing), phishing-infrastruktur og trojaniserte utvikleravhengigheter. Fordi programvareingeniører rutinemessig har rot- eller administratortilgang til kildekode og CI/CD-distribusjonsrørledninger, ble sikring av kodeforfattere et kritisk spørsmål om internasjonal infrastruktursikkerhet.
Som svar etablerte GitHub et universelt krav i flere faser som krever tofaktorautentisering for alle som bidrar med kode, publiserer pakker, bruker bedriftsløsninger og er organisasjonsmedlemmer:
- GitHubs nettgrensesnitt låses i en sperrende modal som forhindrer gjennomgang av pull requests, oppretting av kommentarer og administrasjon av repositorier inntil 2FA er konfigurert.
- Bedriftsorganisasjoner som håndhever 2FA vil automatisk kaste ut medlemmer som ikke oppfyller kravene, og fjerne skrivetilgang og arkivprivilegier umiddelbart.
- Automatiserte arbeidsflyter, publiseringsnøkler for npm-pakker og detaljerte repositorietillatelser fryses inntil kontoens sikkerhetssamsvar er bekreftet.
Trinnvis veiledning: Paring av TOTP-godkjenner
Selv om GitHub støtter SMS, mobilvarsler og maskinvarenøkler, representerer en RFC 6238 TOTP-godkjennerapp (f.eks. Google Authenticator, Bitwarden, 2FA-Tool) gullstandarden for leverandøruavhengighet og frakoblet pålitelighet:
Trinn 1: Gå til autentiseringsinnstillinger
Logg inn på GitHub. Klikk på profilbildet ditt øverst til høyre ➔ Settings. I venstre navigasjonsfelt under «Access», velger du Password and authentication.
Trinn 2: Skann QR-koden og ta vare på rå Base32-hemmelighet
GitHub viser en optisk QR-kode sammen med en tekstlenke: «enter this text code instead».
A3J5N2O9...). Lagre den i det krypterte passordhvelvet ditt. Dette alfanumeriske frøet lar deg gjenskape godkjenningstokener på enhver enhet hvis telefonen din blir ødelagt.
Trinn 3: Skriv inn den 6-sifrede koden for å bekrefte
Skann koden med mobilgodkjenneren din. Skriv inn det rullerende 6-sifrede nummeret som vises på skjermen inn i GitHubs verifiseringsfelt, og klikk på «Continue».
Standarder for arkivering av gjenopprettingskoder og kryptografisk hygiene
Etter vellykket TOTP-paring viser GitHub umiddelbart et vindu med 16 heksadesimale koder med bindestrek (f.eks. d4a2b-98f12). Å lukke dette vinduet uten varig sikkerhetskopi er den vanligste årsaken til permanent utestengelse for utviklere.
1. Kun engangsbruk: Hver gjenopprettingskode blir irreversibelt ugyldig så snart den brukes i stedet for en TOTP-kode.
2. Overordnet autoritet: En gjenopprettingskode overstyrer manglende maskinvare og gir umiddelbar tilgang til kontoen.
3. Zero-Knowledge-serverhashing: GitHub lagrer disse kodene som irreversible enveis kryptografiske hasher. Teknikere hos GitHub Support kan under ingen omstendigheter gjenopprette eller lese dine opprinnelige koder!
Anbefalt 3-lags strategi for kald lagring:
Last ned github-recovery-codes.txt og legg den som et vedlegg til GitHub-oppføringen din i 1Password, Bitwarden eller KeePassXC ved hjelp av Argon2id-avledede hovednøkler.
Lagre tekstfilen på en VeraCrypt-kryptert frakoblet USB-stasjon som holdes frakoblet lokale nettverk og skysynkroniseringstjenester.
Skriv ut en fysisk papirkopi, laminer den mot fuktighet, og oppbevar den trygt i en fysisk safe for å beskytte mot ekstern spionprogramvare.
Fallback-autentiseringsmetoder: SMS vs. Passkeys vs. GitHub Mobile
GitHub tillater konfigurering av sekundære reservemekanismer. Se vår sikkerhetsmessige evaluering av de aktuelle autentiseringsvektorene:
| Metode | Phishing-motstand | SIM-Swap-sårbarhet | Vurdering og praktisk brukstilfelle |
|---|---|---|---|
| Passkeys / FIDO2-sikkerhetsnøkler | Absolutt (WebAuthn-opprinnelsesbinding forhindrer proxy-phishing) | Immun | ⭐⭐⭐⭐⭐ Beste anbefaling (YubiKey / Touch ID) |
| TOTP-godkjennerapp | Moderat (Sårbar for sanntids omvendte proxyer) | Immun | ⭐⭐⭐⭐ Universell standard (Ingen tilkoblingsavhengighet) |
| GitHub Mobile Push-godkjenning | Moderat (Krever 2-sifret tallverifisering) | Immun | ⭐⭐⭐⭐ Utmerket hverdagsbekvemmelighet |
| SMS-verifisering (Reserve) | Null (Ukryptert SS7-signalering, avlyttes enkelt) | Høy risiko | ⭐ Frarådes for utviklere med høyt ansvar |
Terminal-Git-arbeidsflyter: SSH-nøkler, PAT-er og 2FA-samspill
Etter aktivering av 2FA opplever utviklere ofte feilmeldinger i terminalen under rutinemessige kodedistribusjoner:
fatal: Authentication failed for 'https://github.com/username/repo.git/'
Teknisk årsak: Git-protokollen kan ikke håndtere interaktive dialoger for 6-sifrede TOTP-koder. Derfor har GitHub permanent deaktivert passordautentisering for HTTPS Git-forespørsler når 2FA er aktivert.
Bruker asymmetrisk kryptografi (anbefalt: ed25519). SSH-tilkoblinger autentiseres via lokale private kryptografiske nøkler og omgår nettbasert 2FA fullstendig uten stadige påloggingsforespørsler.
Hvis HTTPS er påkrevd, går du til Settings ➔ Developer settings ➔ Personal access tokens for å generere et avgrenset token. Når du blir bedt om et passord i kommandolinjen, limer du inn PAT i stedet for kontopassordet ditt.
SSH-commitsignering vs. autentisering: Merk at det å bruke en SSH-nøkkel til å klone og pushe repositorier er uavhengig av kryptografisk signering av commits. Du kan bruke det samme Ed25519-nøkkelparet til å signere commits med git config commit.gpgsign true og git config gpg.format ssh, noe som gir verifiserte forfattermerker på GitHub ved siden av streng 2FA-tilgangskontroll.
Katastrofegjenoppretting: Låse opp låste kontoer uten 2FA
Ved en katastrofal feil der 2FA-telefonen er borte og dokumentet med gjenopprettingskoder er tapt, tilbyr GitHub en siste kryptografisk livline: SSH-nøkkelsignaturutfordringen (The SSH Key Signature Challenge).
Test din GitHub TOTP-hemmelighet lokalt
Før du fullfører oppsettet, kan du teste den rå Base32-nøkkelstrengen i 2FA-Tool. Alle hasher beregnes lokalt via nettleserens Web Crypto uten overføring til servere.
📚 Relaterte sikkerhetsveiledninger
Overfør 2FA-kontoer trygt mellom smarttelefoner ved hjelp av frakoblede QR-koder og Cloud Sync.
Slik gjenoppretter du tilgang på Google, Microsoft, Steam, Binance, Apple og Discord.
Fra RFC 4226 til RFC 6238: Matematisk hash-avkorting, desynkronisering og nettbruk.