Prihranite čas pri prijavi v GitHub prek SSH z uporabo preverjanja pristnosti brez gesla.

Preverjanje pristnosti z GitHubom običajno vključuje uporabo žetona za dostop ali gesla. Vendar pa so te metode lahko neprijetne in nevarne, zlasti pri dostopu do GitHub iz več naprav.

GitHub ponuja možnost uporabe Secure Shell (SSH) za preverjanje pristnosti. SSH predstavlja varen omrežni protokol za oddaljeni dostop do računalnika. Ta funkcija se izkaže za posebej dragoceno v situacijah, ki zahtevajo avtomatizacijo ali pogost dostop na daljavo.

Razumevanje avtentikacije SSH

Preverjanje pristnosti s SSH vključuje uporabo kriptografske ključe za vzpostavitev varne povezave (tunel) med odjemalcem (lokalni stroj) in strežnikom (GitHub).

Pri uporabi SSH za GitHub uporabnik ustvari par ključev SSH – javni in zasebni ključ. Javni ključ se naloži v uporabnikov GitHub račun, medtem ko zasebni ključ ostane varno shranjen na uporabnikovem lokalnem računalniku.

Postopek lahko primerjamo s konceptom ključavnice in ključa. Javni ključ (ključavnica) je predviden za odprto skupno rabo in varno shranjevanje na strani strežnika. Služi kot protipostavka zasebnemu ključu in strežniku omogoča preverjanje identitete vašega lokalnega računalnika. Nasprotno pa zasebni ključ (ključ) deluje kot edinstven identifikator, shranjen izključno na vašem lokalnem računalniku, kar omogoča uspešno avtentikacijo s strežnikom.

instagram viewer

Med preverjanjem pristnosti z GitHubom vaš lokalni računalnik predstavi svoj zasebni ključ kot dokazilo o identiteti. Strežnik preveri, ali se ustrezni javni ključ, povezan z vašim računom GitHub, ujema z danim zasebnim ključem. Če se ključa ujemata, strežnik odobri dostop in vzpostavi šifrirano in varno povezava za komunikacijo.

Nastavitev SSH za GitHub

V tem razdelku boste videli, kako nastaviti SSH za preverjanje pristnosti z GitHubom.

1. Ustvarjanje para ključev SSH

Postopek generiranja para ključev SSH je prvi korak k uporabi SSH za avtentikacijo.

  1. Odprite terminal ali ukazni poziv.
  2. Izvedite naslednji ukaz, da ustvarite nov par ključev SSH:
     ssh-keygen -t rsa -b 4096 -C "vašapoš[email protected]"
  3. Pozvani boste, da vnesete lokacijo datoteke, da shranite par ključev. Pritisnite Vnesite da sprejmete privzeto lokacijo (~/.ssh/id_rsa) ali določite lokacijo po meri.
     > Ustvarjanje para ključev javni/zasebni RSA.
     > Vnesite datoteko vki da shranite ključ (/home/vagrant/.ssh/id_rsa):
  4. Nato boste morali vnesti geslo. Čeprav ni obvezno, dodajanje gesla služi kot dodatna raven varnosti. Zapomnite si svoje geslo.
     > Vnesite geslo (prazno za brez gesla): 
     > Ponovno vnesite isto geslo:
  5. Po generiranju para ključev bi morali videti dve datoteki na navedenem mestu. id_rsa (zasebni ključ) in id_rsa.pub (javni ključ).
     > Vaša identifikacija je bila shranjena v /home/vagrant/.ssh/id_rsa.
     > Vaš javni ključ je shranjen v /home/vagrant/.ssh/id_rsa.pub.
  6. Po zaključku se prikažeta prstni odtis ključa in naključna slika.
  7. Nazadnje boste potrebovali vsebino javnega ključa, ki jo želite dodati v GitHub. Zaženite naslednji ukaz, da dobite vsebino:
     mačka ~/.ssh/id_rsa.pub

Ne pozabite določiti poti (~/.ssh/id_rsa.pub v mojem primeru), ki ste jo uporabili pri ustvarjanju ključev.

Kopirajte vsebino na varno in začasno mesto za kasnejšo uporabo.

2. Dodajanje javnega ključa v GitHub

Zdaj, ko ste ustvarili par ključev SSH, morate dodati javni ključ v svoj račun GitHub.

  1. Prijavite se v svoj račun GitHub in pojdite na svoj račun nastavitve.
  2. Kliknite na SSH in GPG ključa ki se nahaja na levi stranski vrstici.
  3. Kliknite na Nov ključ SSH.
  4. Dajte svoj ključ SSH a Naslov.
  5. Prilepite vsebino javnega ključa v Ključ polje.
  6. Na koncu kliknite na Dodajte ključ SSH da shranite ključ SSH v svoj račun GitHub.

S temi ste uspešno izvozili javni ključ v svoj račun GitHub.

3. Konfiguriranje agenta SSH

SSH agent je program, ki pomaga upravljati SSH ključe in zagotavlja varen način za njihovo shranjevanje in uporabo. Deluje kot posrednik med vašo lokalno napravo in oddaljenim strežnikom med preverjanjem pristnosti SSH. To vam omogoča upravljanje več ključev SSH za različne račune GitHub.

  1. Prepričajte se, da agent SSH deluje.
     $ eval"$(ssh-agent -s)"
     > Agent pid 2757
  2. Dodajte zasebni ključ agentu SSH.
     $ ssh-dodaj ~/.ssh/id_rsa
     > Vnesite geslo za /home/vagrant/.ssh/id_rsa:
     > Dodana identiteta: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)

Uspešno ste konfigurirali agenta SSH za upravljanje vaših ključev.

4. Testiranje povezave SSH

Zdaj lahko preizkusite, da preverite, ali je vaša povezava SSH pravilno nastavljena, in se lahko overite na GitHubu s pomočjo SSH.

  • Zaženite spodnji ukaz, da preizkusite povezavo SSH z GitHub;
     ssh -T [email protected]
    če gre vse v redu, boste videli opozorilo glede prstnega odtisa. Potrdite prstni odtis in tip ja nadaljevati.
     > Pristnost gostitelja 'github.com (140.92.130.4)' lahkose ne vzpostavi.
    > Prstni odtis ključa ECDSA je SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
    > Ste prepričani, da želite nadaljevati povezovanje (da/ne)?
  • Ob tipkanju ja, boste videli rezultat, podoben spodnjemu.
     > Opozorilo: Trajno dodano 'github.com, 140.92.130.4' (ECDSA) na seznam znanih gostiteljev.
    > Živjo princwillingoo! TiUspešno overjeni, vendar GitHub ne omogoča dostopa do lupine.

To kaže, da je bila avtentikacija uspešna.

Upravljanje repozitorijev s SSH

Konfiguracija SSH vam omogoča upravljanje vaših repozitorijev, ne da bi morali skrbeti za težave z gesli in žetoni za dostop.

Nastavitev oddaljenega URL-ja

git daljinski upravljalnik set-url izvor [email protected]:/.git

Kloniranje repozitorija

git klon [email protected]:/.git

Potiskanje sprememb v repozitorij

git push izvor 

Vlečenje sprememb iz repozitorija

git pull izvor 

Prednosti SSH pred preverjanjem pristnosti z geslom

Uporaba SSH za preverjanje pristnosti ponuja številne pomembne prednosti pred tradicionalnimi metodami preverjanja pristnosti, ki temeljijo na geslu. To vključuje:

  • Preverjanje pristnosti SSH odpravlja potrebo po geslih in zmanjšuje tveganje kraje poverilnic.
  • Zaradi uporabe kriptografskih ključev je bolj odporen na napadi s surovo silo v primerjavi z gesli.
  • Če je vaš zasebni ključ ogrožen, ga lahko prekličete in zamenjate, tako da ogroženi ključ postane neuporaben.

Iz tega razloga je preverjanje pristnosti SSH boljša možnost v primerjavi s preverjanjem pristnosti z geslom.

Najboljše prakse in odpravljanje težav

Za zagotovitev nemotene in varne nastavitve SSH je treba upoštevati najboljše prakse in se zavedati pogostih težav, ki se lahko pojavijo, ter načinov za njihovo odpravljanje.

  1. Vedno nastavite geslo, da ustvarite dodatno raven varnosti.
  2. Vadite pogosto rotacijo ključev in varnostno kopiranje.
  3. Potrdite vsak korak, da se izognete napakam pri dovoljenjih ali nepravilni konfiguraciji agenta SSH.

Z upoštevanjem teh najboljših praks lahko samozavestno uporabljate preverjanje pristnosti SSH za GitHub.

Vsestranskost SSH

SSH se v veliki meri uporablja na drugih področjih za daljinsko upravljanje strežnikov, mikrokontrolerjev in omrežnih naprav, saj omogoča varen dostop na vmesnik ukazne vrstice (CLI), ki uporabnikom omogoča izvajanje različnih nalog, konfiguracijo nastavitev, prenos datotek in odpravljanje težav vprašanja.