🐙 Sikkerhedshåndbog for udviklere ✓ Obligatorisk overholdelse

Komplet guide til GitHub 2FA: Opsætning, SMS-fallback og genoprettelseskoder

Med eskaleringen af angreb mod softwareforsyningskæden (supply chain) på verdensplan stiller GitHub krav om tofaktorgodkendelse (2FA) for alle bidragydende udviklere. Desværre mister tusindvis af programmører hver måned fuldstændig adgang til deres organisationer og private arkiver på grund af glemte genoprettelseskoder. Denne tekniske vejledning gennemgår TOTP-konfiguration, kold arkivering af genoprettelseskoder, interaktion med SSH-nøgler og redning ved kryptografisk lockout.

2FA
2FA-Tool sikkerhedsteam
Opdateret oktober 2026
Anslået læsetid: 13 min (2.400+ ord)
GitHub 2FA Genoprettelseskoder Forsyningskæde
💡 Udviklerpointer (TL;DR)
  • 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.
01

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:

📌 Konsekvenser ved overskridelse af 2FA-tilmeldingsfristen
  • 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.
02

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:

1

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.

Sti: Settings ➔ Password and authentication ➔ Two-factor methods ➔ Set up authenticator app
2

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".

💡 Sikkerhedstip: Klik på tekstlinket og kopiér den 32-tegns Base32-hemmelighedsstreng (f.eks. 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.
3

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".

03

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.

🚨 Kryptografiske egenskaber ved genoprettelseskoder

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:

🥇 Vedhæftning i adgangskodeboks

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.

🥈 Fysisk isoleret USB-boks

Gem tekstfilen på et VeraCrypt-krypteret offline USB-drev, der opbevares frakoblet lokale netværk og cloud-synkronisering.

🥉 Vandtæt fysisk udskrift

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.

Advarsel om udklipsholderlækage: Når du kopierer dine 16 genoprettelseskoder, skal du være opmærksom på udklipsholder-programmer (såsom Alfred, Raycast eller Windows Clipboard History). Følsomme genoprettelseskoder gemt i historikdatabaser i ren tekst kan aflæses af simpel malware. Sørg altid for at rydde din udklipsholder straks efter indsættelse af koderne i din krypterede boks.
04

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
05

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:

remote: Support for password authentication was removed on August 13, 2021.
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.

🔑 Mulighed A: SSH-nøglegodkendelse (Anbefalet)

Anvender asymmetrisk kryptografi (anbefalet: ed25519). SSH-forbindelser godkendes via lokale private nøgler og omgår web-2FA helt uden gentagne login-prompts.

ssh-keygen -t ed25519 -C "[email protected]"
🎫 Mulighed B: Personal Access Tokens (PAT)

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.

06

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).

1
Start klageproces ved kontolockout På 2FA-skærmen under login klikkes på "Unable to verify via 2FA?" ➔ vælg "Use emergency recovery code" ➔ hvis den ikke er tilgængelig, klik på "Request two-factor authentication reset".
2
Bekræft engangskode sendt til sikkerheds-e-mail GitHub sender en 6-cifret bekræftelses-PIN til din primære verificerede e-mailadresse. Indtast koden for at gå videre til identitetsbekræftelse.
3
Udfør lokal SSH-nøgleudfordring i terminalen GitHub genererer en unik udfordringsstreng og instruerer dig i at signere den i terminalen på din udviklercomputer:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
Indsæt den pansrede signaturblok tilbage i webportalen. GitHub validerer matematisk, at signaturen matcher din registrerede offentlige SSH-nøgle, hvilket beviser kontoejerskab og låser profilen op efter en gennemgangsperiode.
🔒 Kryptografisk sandkasse på klientsiden

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.

Åbn online generator