🐙 Arendaja turvakäsiraamat ✓ Kohustuslik nõue

Täielik GitHubi 2FA seadistamise, SMS-varuvariandi ja taastekoodide juhend

Kuna avatud lähtekoodiga tarkvara tarneahela rünnakud sagenevad üle maailma, nõuab GitHub kahefaktorilist autentimist (2FA) kõigilt koodi panustavatelt arendajatelt. Kahjuks kaotavad tuhanded insenerid igakuiselt täieliku juurdepääsu oma organisatsioonidele ja privaatsetele repositooriumidele üksnes hooletusse jäetud taastekoodide tõttu. See tehniline juhend käsitleb TOTP seadistamist, taastekoodide turvalist külmarhiveerimist, SSH-võtmete koosmõju ning krüptograafilist erakorralist pääsemist lukustatud kontole.

2FA
2FA-Tooli turvameeskond
Uuendatud oktoobris 2026
Eeldatav lugemisaeg: 13 min (2400+ sõna)
GitHub 2FA Taastekoodid Tarneahel
💡 Arendaja peamised järeldused (TL;DR)
  • Kohustuslik nõue on alaline: Arendajatel, kes ei seadista 2FA-d tähtajaks, blokeeritakse veebipõhised toimingud ja tühistatakse ligipääs organisatsiooni repositooriumidele.
  • Taastekoodid on teie päästerõngas: Genereeritud 16 taastekoodi on ühekordsed. Salvestage need kohe krüpteeritud paroolihoidlasse või võrguühenduseta füüsilisele väljatrükile.
  • Giti paroolid enam ei tööta: HTTPS Git push ei võimalda interaktiivsete 6-kohaliste koodide sisestamist. Peate kasutama SSH-võtmeid või piiratud õigustega isiklikke juurdepääsulubasid (Personal Access Token, PAT).
  • Krüptograafiline viimane võimalus: Kui kaotate telefoni ja taastekoodid, saate omandiõigust tõendada, allkirjastades identiteedikontrolli väljakutse oma varem registreeritud kohaliku SSH privaatvõtmega.
01

GitHubi kohustusliku 2FA poliitika ülevaade ja turvalisuse põhjendus

Ajalooliselt on kompromiteeritud arendajakontod põhjustanud katastroofilisi tarkvara tarneahela turvanõrkusi. Laialdast vastukaja pälvinud intsidendid – nagu pakettide event-stream, ua-parser-js, ctx ja colors.js ülevõtmised npm ja PyPI repositooriumides – tõestasid, et üksainus varastatud konto võib ohustada sadu tuhandeid allavoolu äri- ja elutähtsaid taristuprojekte.

Ründajad koguvad volitusi globaalsete paroolilekete, andmepüügitaristu ning pahavaraga nakatatud arendajasõltuvuste kaudu. Kuna tarkvarainseneridel on igapäevaselt administraatori- või juurõigused lähtekoodile ja CI/CD juurutustorudele, sai koodikirjutajate kaitsmisest rahvusvahelise taristuturbe vältimatu prioriteet.

Vastuseks kehtestas GitHub mitmeetapilise universaalse mandaadi, mis nõuab kahefaktorilist autentimist kõigilt koodi panustajatelt, pakettide avaldajatelt, ettevõtete kasutajatelt ja organisatsiooni liikmetelt:

📌 2FA registreerimise tähtaja ületamise tagajärjed
  • GitHubi veebiliides kuvab kohustusliku modulaarakna, keelates pull requestide ülevaatamise, issue'de kommenteerimise ja repositooriumi haldamise kuni 2FA seadistuse lõpuleviimiseni.
  • Ettevõtteorganisatsioonid, mis nõuavad 2FA-d, eemaldavad automaatselt nõuetele mittevastavad liikmed, tühistades kohe kirjutamisõigused ja repositooriumi privileegid.
  • Automaatsed töövood, npm pakettide avaldamisvõtmed ja detailsed repositooriumiload külmutatakse, kuni konto vastavus nõuetele on kinnitatud.
02

Samm-sammuline juhend: TOTP autentija sidumine

Kuigi GitHub toetab SMS-i, mobiilimärguandeid ja riistvaravõtmeid, on RFC 6238 TOTP autentimisrakendus (nt Google Authenticator, Bitwarden, 2FA-Tool) tarnijasõltumatuse ja võrguühenduseta töökindluse kuldstandard:

1

1. samm: Liikuge autentimissätetesse

Logige GitHubi sisse. Klõpsake ülemises paremas nurgas oma profiiliikooni ➔ Settings. Valige vasakpoolsest külgribast "Access" alt Password and authentication.

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

2. samm: Skannige QR-kood ja salvestage Base32 salavõti

GitHub kuvab optilise QR-koodi kõrvuti tekstilingiga "enter this text code instead".

💡 Turvasoovitus kogenud arendajale: Klõpsake tekstilinki ja kopeerige 32-kohaline Base32 salavõtme string (nt A3J5N2O9...). Salvestage see oma krüpteeritud paroolihaldurisse. See tähtnumbriline algseeme võimaldab teil telefoni hävimisel koodid mis tahes seadmes uuesti tuletada.
3

3. samm: Sisestage kinnitamiseks 6-kohaline kood

Skannige kood mobiilse autentijaga. Sisestage ekraanile ilmuv 6-kohaline number GitHubi kinnitusväljale ja klõpsake nuppu "Continue".

03

Taastekoodide arhiveerimise standardid ja krüptograafiline hügieen

Pärast TOTP edukat sidumist kuvab GitHub kohe modulaarakna 16 sidekriipsuga heksadetsimaalkoodiga (nt d4a2b-98f12). Selle akna sulgemine ilma koode püsivalt varundamata on kõige levinum põhjus, miks arendajad oma kontodest lõplikult ilma jäävad.

🚨 Taastekoodide krüptograafilised omadused

1. Ainult ühekordne kasutus: Iga taastekood muutub pärast esimest kasutuskorda TOTP koodi asemel pöördumatult kehtetuks.
2. Täielik autoriteet: Taastekood asendab puuduva seadme ja tagab kohese ligipääsu kontole.
3. Nullteadmistega serveripoolne räsimine: GitHub talletab neid koode pöördumatute ühesuunaliste krüptograafiliste räridena. GitHubi klienditugi ei saa teie algseid koode mitte mingil juhul taastada ega vaadata!

Soovitatav kolmetasandiline külmhoiustamise strateegia:

🥇 Paroolihoidla manus

Laadige alla github-recovery-codes.txt ja lisage see oma GitHubi kirje juurde 1Passwordis, Bitwardenis või KeePassXC-s, kasutades Argon2id baasil tuletatud peavõtmeid.

🥈 Võrguvaba riistvarasalvesti

Salvestage tekstifail VeraCryptiga krüpteeritud võrguühenduseta USB-mälupulgale, mis on lahutatud kohalikest võrkudest ja pilvesünkroonijatest.

🥉 Veekindel paberkoopia

Printige füüsiline paberkoopia, lamineerige see niiskuse kaitseks ja hoiustage koduses seifis, et kaitsta seda kaughaldustarkvara ja troojalaste eest.

Lõikelaua andmelekke vältimise hoiatus: 16 taastekoodi kopeerimisel pidage silmas lõikelaua ajaloo haldureid (nt Alfred, Raycast või Windowsi lõikelaua ajalugu). Tavalises tekstis lõikelaua andmebaasi salvestatud tundlikke koode võivad madala privileegiga pahavara programmid hõlpsasti kätte saada. Pärast koodide kleepimist krüpteeritud hoidlasse tühjendage lõikelaud kohe.
04

Varuauteerimismeetodid: SMS vs. Passkeys vs. GitHub Mobile

GitHub lubab seadistada mitmeid alternatiivseid varumeetodeid. Tutvuge meie turvaanalüüsiga praeguste autentimisviiside kohta:

Meetod Andmepüügikindlus SIM-vahetuse haavatavus Hinnang ja praktiline kasutusjuht
Passkeys / FIDO2 turvavõtmed Täielik (WebAuthn seotus domeeniga tõkestab proxy-andmepüügi) Puutumatu ⭐⭐⭐⭐⭐ Parim soovitus (YubiKey / Touch ID)
TOTP autentimisrakendus Mõõdukas (haavatav reaalajas pöördproksidele) Puutumatu ⭐⭐⭐⭐ Universaalne baastase (sõltumatu internetist)
GitHub Mobile tõukekinnitus Mõõdukas (nõuab kahekohalise numbri kinnitamist) Puutumatu ⭐⭐⭐⭐ Suurepärane igapäevane mugavus
SMS-kinnituse varuvariant Puudub (krüpteerimata SS7 signaalimine, lihtne pealt kuulata) Kõrge risk ⭐ Ei soovitata kriitiliste projektide haldajatele
05

Terminali Git-töövood: SSH-võtmed, PAT-load ja 2FA koosmõju

Pärast 2FA aktiveerimist puutuvad arendajad rutiinsete koodi pushimiste ajal sageli kokku terminali tõrketeatega:

remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed for 'https://github.com/username/repo.git/'

Tehniline põhjendus: Giti võrguprotokoll ei toeta interaktiivset 6-kohalise TOTP koodi küsimist. Seetõttu lõpetas GitHub HTTPS Git-päringute puhul tavapärase konto parooli toetamise, kui 2FA on aktiveeritud.

🔑 Variant A: SSH-võtmega autentimine (Soovitatav)

Kasutab asümmeetrilist krüptograafiat (soovitatav: ed25519). SSH-ühendused autenditakse kohaliku privaatvõtmega ja mööduvad veebi 2FA-st täielikult ilma sagedaste koodiküsimisteta.

ssh-keygen -t ed25519 -C "[email protected]"
🎫 Variant B: Isiklikud juurdepääsuload (PAT)

Kui HTTPS-transport on vältimatu, minge Settings ➔ Developer settings ➔ Personal access tokens ja looge sobivate õigustega luba. Kui käsurida küsib parooli, kleepige oma konto parooli asemel PAT.

SSH commitide allkirjastamine vs. autentimine: Pange tähele, et SSH-võtme kasutamine koodi kloonimiseks ja pushimiseks erineb commitide krüptograafilisest allkirjastamisest. Saate kasutada sama Ed25519 võtmepaari ka commitide allkirjastamiseks käskudega git config commit.gpgsign true ja git config gpg.format ssh, saavutades GitHubis verifitseeritud autori märgid kõrvuti range 2FA juurdepääsukontrolliga.

06

Avariitaaste: lukustatud konto avamine ilma 2FA-ta

Tõsise tõrke korral, kus teie 2FA telefon on kadunud ja taastekoodide fail hävinud, pakub GitHub ühte viimast krüptograafilist päästerõngast: SSH-võtme allkirjastamise väljakutset (SSH Key Signature Challenge).

1
Algatage konto lukustuse vaidlustamine Klõpsake sisselogimisel 2FA aknas valikul "Unable to verify via 2FA?" ➔ valige "Use emergency recovery code" ➔ kui koode pole, klõpsake "Request two-factor authentication reset".
2
Kinnitage turvameilile saabunud ühekordne kood GitHub saadab teie peamisele kinnitatud e-posti aadressile 6-kohalise kinnituskoodi. Isikutuvastusega jätkamiseks sisestage see kood.
3
Tehke terminalis kohalik SSH-võtme väljakutse test GitHub genereerib unikaalse väljakutsestringi ja suunab teid seda kohalikus terminalis allkirjastama:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
Kleepige saadud allkirjaplokk tagasi veebiportaali. GitHub kontrollib matemaatiliselt, et allkiri klapib teie varem registreeritud avaliku SSH-võtmega, tõendades lõplikult konto omaniku staatust ning vabastades teie profiili pärast lühikest ülevaatusperioodi.
🔒 Kliendipoolne krüptograafiline liivakast

Testige oma GitHubi TOTP salavõtit kohapeal

Enne seadistuse kinnitamist testige oma Base32 salavõtme stringi 2FA-Toolis. Kõik räsid arvutatakse lokaalselt brauseri Web Crypto API abil ilma andmeid serveritesse edastamata.

Ava veebipõhine generaator