Ušetrite čas prihlasovaním na GitHub cez SSH pomocou autentifikácie bez hesla.

Autentifikácia pomocou GitHub zvyčajne zahŕňa použitie prístupového tokenu alebo hesla. Tieto metódy však môžu byť nepohodlné a neisté, najmä pri prístupe na GitHub z viacerých zariadení.

GitHub poskytuje možnosť použiť na autentifikáciu Secure Shell (SSH). SSH predstavuje bezpečný sieťový protokol pre vzdialený prístup k počítaču. Táto funkcia sa osvedčí najmä v situáciách, ktoré si vyžadujú automatizáciu alebo častý vzdialený prístup.

Pochopenie autentifikácie SSH

Autentifikácia pomocou SSH zahŕňa použitie kryptografické kľúče vytvoriť zabezpečené spojenie (tunel) medzi klientom (lokálnym počítačom) a serverom (GitHub).

Keď používate SSH pre GitHub, používateľ vygeneruje pár kľúčov SSH – verejný kľúč a súkromný kľúč. Verejný kľúč sa nahrá do účtu používateľa GitHub, zatiaľ čo súkromný kľúč zostáva bezpečne uložený na lokálnom počítači používateľa.

Tento proces možno prirovnať ku konceptu zámku a kľúča. Verejný kľúč (zámok) je určený na otvorené zdieľanie a bezpečné uloženie na strane servera. Slúži ako náprotivok k súkromnému kľúču, ktorý umožňuje serveru overiť identitu vášho lokálneho počítača. Naopak, súkromný kľúč (kľúč) funguje ako jedinečný identifikátor uložený výlučne na vašom lokálnom počítači, čo umožňuje úspešnú autentifikáciu so serverom.

instagram viewer

Počas overovania pomocou GitHub váš lokálny počítač prezentuje svoj súkromný kľúč ako dôkaz identity. Server skontroluje, či sa zodpovedajúci verejný kľúč priradený k vášmu účtu GitHub zhoduje s daným súkromným kľúčom. Ak sa kľúče zhodujú, server udelí prístup a vytvorí šifrované a zabezpečené spojenie pre komunikáciu.

Nastavenie SSH pre GitHub

V tejto časti uvidíte, ako nastaviť SSH na autentifikáciu pomocou GitHub.

1. Generuje sa pár kľúčov SSH

Proces generovania páru kľúčov SSH je prvým krokom k využívaniu SSH na autentifikáciu.

  1. Otvorte terminál alebo príkazový riadok.
  2. Vykonajte nasledujúci príkaz na vygenerovanie nového páru kľúčov SSH:
     ssh-keygen -t rsa -b 4096 -C "[email protected]"
  3. Budete vyzvaní na zadanie umiestnenia súboru na uloženie páru kľúčov. Stlačte tlačidlo Zadajte akceptovať predvolené umiestnenie (~/.ssh/id_rsa) alebo zadať vlastné umiestnenie.
     > Generovanie páru verejných/súkromných rsa kľúčov.
     > Zadajte súbor vktoré na uloženie kľúča (/home/vagrant/.ssh/id_rsa):
  4. Ďalej budete požiadaní o zadanie prístupovej frázy. Hoci je voliteľné, pridanie prístupovej frázy slúži ako dodatočná úroveň zabezpečenia. Uistite sa, že si zapamätáte svoju prístupovú frázu.
     > Zadajte prístupovú frázu (prázdne pre žiadna prístupová fráza): 
     > Znova zadajte rovnakú prístupovú frázu:
  5. Po vygenerovaní páru kľúčov by ste mali vidieť dva súbory v určenom umiestnení. id_rsa (súkromný kľúč) a id_rsa.pub (verejný kľúč).
     > Vaša identifikácia bola uložená v /home/vagrant/.ssh/id_rsa.
     > Váš verejný kľúč bol uložený v /home/vagrant/.ssh/id_rsa.pub.
  6. Po dokončení sa zobrazí odtlačok prsta kľúča a obrázok náhodného obrázka.
  7. Nakoniec budete potrebovať obsah verejného kľúča na pridanie na GitHub. Ak chcete získať obsah, spustite nasledujúci príkaz:
     mačka ~/.ssh/id_rsa.pub

Nezabudnite zadať cestu (v mojom prípade ~/.ssh/id_rsa.pub), ktorú ste použili pri vytváraní kľúčov.

Skopírujte obsah na bezpečné a dočasné miesto pre neskoršie použitie.

2. Pridanie verejného kľúča na GitHub

Teraz, keď ste vygenerovali pár kľúčov SSH, musíte pridať verejný kľúč do svojho účtu GitHub.

  1. Prihláste sa do svojho účtu GitHub a prejdite do svojho účtu nastavenie.
  2. Kliknite na SSH a GPG kľúče umiestnený na ľavom bočnom paneli.
  3. Kliknite na Nový kľúč SSH.
  4. Dajte svoj kľúč SSH a Názov.
  5. Prilepte obsah verejného kľúča do kľúč lúka.
  6. Nakoniec kliknite na Pridajte kľúč SSH uložiť kľúč SSH do svojho účtu GitHub.

Pomocou nich ste úspešne exportovali verejný kľúč do svojho účtu GitHub.

3. Konfigurácia agenta SSH

Agent SSH je program, ktorý pomáha spravovať kľúče SSH a poskytuje bezpečný spôsob ich ukladania a používania. Funguje ako prostredník medzi vaším lokálnym počítačom a vzdialeným serverom počas overovania SSH. To vám umožňuje spravovať viacero kľúčov SSH pre rôzne účty GitHub.

  1. Uistite sa, že je spustený agent SSH.
     $ eval"$(ssh-agent -s)"
     > Agent pid 2757
  2. Pridajte súkromný kľúč k agentovi SSH.
     $ ssh-add ~/.ssh/id_rsa
     > Zadajte prístupovú frázu pre /home/vagrant/.ssh/id_rsa:
     > Pridaná identita: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)

Úspešne ste nakonfigurovali agenta SSH na správu vašich kľúčov.

4. Testovanie pripojenia SSH

Teraz môžete otestovať, či je vaše pripojenie SSH nastavené správne, a môžete sa overiť na GitHub pomocou SSH.

  • Spustite príkaz uvedený nižšie a otestujte pripojenie SSH k GitHub;
     ssh -T [email protected]
    ak všetko prebehne v poriadku, zobrazí sa upozornenie týkajúce sa odtlačku prsta. Potvrďte odtlačok prsta a zadajte Áno pokračovať.
     > Autenticita hostiteľa „github.com (140.92.130.4)“ môcťnebude zavedený.
    > Odtlačok kľúča ECDSA je SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
    > Si si istý, že chceš? ďalej pripojenie (áno/nie)?
  • Pri písaní Áno, uvidíte výstup podobný tomu nižšie.
     > Upozornenie: Natrvalo pridané 'github.com, 140.92.130.4' (ECDSA) do zoznamu známych hostiteľov.
    > Ahoj princwillingoo! vy'úspešne overené, ale GitHub neposkytuje shellový prístup.

To ukazuje, že autentifikácia bola úspešná.

Správa repozitárov pomocou SSH

Konfigurácia SSH vám umožňuje spravovať vaše úložiská bez toho, aby ste sa museli obávať problémov s heslami a prístupovými tokenmi.

Nastavenie vzdialenej adresy URL

diaľkové ovládanie git nastaviť-pôvod adresy URL [email protected]:/.git

Klonovanie úložiska

git klonovať [email protected]:/.git

Prenos zmien do úložiska

git push pôvod 

Sťahovanie zmien z úložiska

pôvod git pull 

Výhody overovania SSH cez heslo

Použitie SSH na autentifikáciu ponúka niekoľko pozoruhodných výhod oproti tradičným metódam autentifikácie založenej na hesle. Toto zahŕňa:

  • Autentifikácia SSH eliminuje potrebu hesiel, čím sa znižuje riziko krádeže poverení.
  • Použitie kryptografických kľúčov ho robí viac odolným voči útoky hrubou silou v porovnaní s heslami.
  • Ak je váš súkromný kľúč ohrozený, môžete ho odvolať a nahradiť, čím sa napadnutý kľúč stane zbytočným.

Z tohto dôvodu má autentifikácia SSH tendenciu byť lepšou voľbou v porovnaní s autentifikáciou heslom.

Osvedčené postupy a riešenie problémov

Na zabezpečenie hladkého a bezpečného nastavenia SSH je potrebné dodržiavať osvedčené postupy a byť si vedomý bežných problémov, ktoré sa môžu vyskytnúť, a spôsobov ich riešenia.

  1. Vždy nastavte prístupovú frázu, aby ste vytvorili ďalšiu vrstvu zabezpečenia.
  2. Praktizujte časté striedanie kľúčov a zálohovanie.
  3. Potvrďte každý krok, aby ste sa vyhli chybám povolení alebo nesprávnej konfigurácii agenta SSH.

Dodržiavaním týchto osvedčených postupov môžete s istotou využívať autentifikáciu SSH pre GitHub.

Všestrannosť SSH

SSH sa vo veľkej miere používa v iných oblastiach na vzdialenú správu serverov, mikrokontrolérov a sieťových zariadení, pretože umožňuje bezpečný prístup na rozhranie príkazového riadka (CLI), ktoré používateľom umožňuje vykonávať rôzne úlohy, konfigurovať nastavenia, prenášať súbory a odstraňovať problémy problémy.