Ietaupiet laiku, pierakstoties GitHub, izmantojot SSH, izmantojot autentifikāciju bez paroles.

Autentifikācija ar GitHub parasti ietver piekļuves pilnvaras vai paroles izmantošanu. Tomēr šīs metodes var būt neērtas un nedrošas, īpaši, ja piekļūstat GitHub no vairākām ierīcēm.

GitHub nodrošina iespēju izmantot Secure Shell (SSH) autentifikācijai. SSH piedāvā drošu tīkla protokolu attālai datora piekļuvei. Šī funkcija ir īpaši vērtīga situācijās, kad nepieciešama automatizācija vai bieža attālā piekļuve.

Izpratne par SSH autentifikāciju

Autentifikācija ar SSH ietver izmantošanu kriptogrāfiskās atslēgas lai izveidotu drošu savienojumu (tuneli) starp klientu (vietējo mašīnu) un serveri (GitHub).

Izmantojot SSH vietnei GitHub, lietotājs ģenerē SSH atslēgu pāri — publisko atslēgu un privāto atslēgu. Publiskā atslēga tiek augšupielādēta lietotāja GitHub kontā, savukārt privātā atslēga tiek droši glabāta lietotāja lokālajā datorā.

Procesu var pielīdzināt slēdzenes un atslēgas jēdzienam. Publiskā atslēga (slēdzene) ir paredzēta atklātai koplietošanai un drošai glabāšanai servera pusē. Tas kalpo kā privātās atslēgas līdzinieks, ļaujot serverim pārbaudīt jūsu vietējās mašīnas identitāti. Un otrādi, privātā atslēga (atslēga) darbojas kā unikāls identifikators, kas tiek glabāts tikai jūsu lokālajā datorā, nodrošinot veiksmīgu autentifikāciju ar serveri.

Autentifikācijas laikā ar GitHub jūsu vietējā iekārta uzrāda savu privāto atslēgu kā identitātes pierādījumu. Serveris pārbauda, ​​vai atbilstošā publiskā atslēga, kas saistīta ar jūsu GitHub kontu, atbilst norādītajai privātajai atslēgai. Ja atslēgas sakrīt, serveris piešķir piekļuvi, izveidojot šifrēts un drošs savienojums komunikācijai.

SSH iestatīšana pakalpojumam GitHub

Šajā sadaļā redzēsit, kā iestatīt SSH autentifikācijai, izmantojot GitHub.

1. SSH atslēgu pāra ģenerēšana

SSH atslēgu pāra ģenerēšanas process ir pirmais solis ceļā uz SSH izmantošanu autentifikācijai.

  1. Atveriet savu termināli vai komandu uzvedni.
  2. Izpildiet šo komandu, lai ģenerētu jaunu SSH atslēgu pāri:
     ssh-keygen -t rsa -b 4096 -C "[email protected]"
  3. Jums tiks piedāvāts ievadīt faila atrašanās vietu, lai saglabātu atslēgu pāri. Nospiediet Ievadiet lai pieņemtu noklusējuma atrašanās vietu (~/.ssh/id_rsa) vai norādītu pielāgotu atrašanās vietu.
     > Publiskā/privātā RSA atslēgu pāra ģenerēšana.
     > Ievadīt failu iekšākuras lai saglabātu atslēgu (/home/vagrant/.ssh/id_rsa):
  4. Pēc tam jums tiks lūgts ievadīt ieejas frāzi. Lai gan ieejas frāzes pievienošana nav obligāta, tā kalpo kā papildu drošības līmenis. Noteikti atcerieties savu ieejas frāzi.
     > Ievadiet ieejas frāzi (tukšs priekš bez ieejas frāzes): 
     > Ievadiet to pašu ieejas frāzi vēlreiz:
  5. Pēc atslēgu pāra ģenerēšanas jums vajadzētu redzēt divus failus norādītajā vietā. id_rsa (privātā atslēga) un id_rsa.pub (publiskā atslēga).
     > Jūsu identifikācija ir saglabāta iekšā /home/vagrant/.ssh/id_rsa.
     > Jūsu publiskā atslēga ir saglabāta iekšā /home/vagrant/.ssh/id_rsa.pub.
  6. Pēc pabeigšanas tiek parādīti taustiņu pirkstu nospiedumi un nejaušās mākslas attēls.
  7. Visbeidzot, jums būs nepieciešams publiskās atslēgas saturs, lai to pievienotu GitHub. Lai iegūtu saturu, izpildiet šo komandu:
     kaķis ~/.ssh/id_rsa.pub

Noteikti norādiet ceļu (manā gadījumā ~/.ssh/id_rsa.pub), ko izmantojāt, veidojot atslēgas.

Kopējiet saturu drošā un pagaidu vietā vēlākai lietošanai.

2. Publiskās atslēgas pievienošana GitHub

Tagad, kad esat ģenerējis SSH atslēgu pāri, jums ir jāpievieno publiskā atslēga savam GitHub kontam.

  1. Piesakieties savā GitHub kontā un dodieties uz savu kontu Iestatījumi.
  2. Klikšķiniet uz SSH un GPG atslēgas atrodas kreisajā sānjoslā.
  3. Klikšķiniet uz Jauna SSH atslēga.
  4. Iesniedziet savu SSH atslēgu a Nosaukums.
  5. Ielīmējiet publiskās atslēgas saturu mapē Atslēga lauks.
  6. Visbeidzot noklikšķiniet uz Pievienojiet SSH atslēgu lai saglabātu SSH atslēgu savā GitHub kontā.

Jūs esat veiksmīgi eksportējis publisko atslēgu uz savu GitHub kontu, izmantojot šos.

3. SSH aģenta konfigurēšana

SSH aģents ir programma, kas palīdz pārvaldīt SSH atslēgas un nodrošina drošu veidu, kā tās uzglabāt un lietot. Tas darbojas kā starpnieks starp jūsu vietējo datoru un attālo serveri SSH autentifikācijas laikā. Tas ļauj pārvaldīt vairākas SSH atslēgas dažādiem GitHub kontiem.

  1. Pārliecinieties, vai darbojas SSH aģents.
     $ eval"$(ssh-agent -s)"
     > Aģents pid 2757
  2. Pievienojiet privāto atslēgu SSH aģentam.
     $ ssh-add ~/.ssh/id_rsa
     > Ievadiet ieejas frāzi priekš /home/vagrant/.ssh/id_rsa:
     > Pievienota identitāte: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)

Jūs esat veiksmīgi konfigurējis SSH aģentu, lai pārvaldītu jūsu atslēgas.

4. SSH savienojuma pārbaude

Tagad varat pārbaudīt, vai SSH savienojums ir pareizi iestatīts, un varat autentificēt GitHub, izmantojot SSH.

  • Palaidiet tālāk norādīto komandu, lai pārbaudītu SSH savienojumu ar GitHub;
     ssh -T [email protected]
    ja viss noritēs labi, tiks parādīts brīdinājums par pirkstu nospiedumu. Apstipriniet pirksta nospiedumu un ierakstiet turpināt.
     > saimniekdatora autentiskums "github.com (140.92.130.4)" varnav izveidota.
    > ECDSA atslēgas pirksta nospiedums ir SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
    > Vai tiešām vēlaties Turpināt savienošana (jā/nē)?
  • Pēc rakstīšanas , jūs redzēsit izvadi, kas ir līdzīga tālāk norādītajai.
     > Brīdinājums: pastāvīgi pievienots 'github.com, 140.92.130.4' (ECDSA) uz zināmo saimniekdatoru sarakstu.
    > Sveiks, princivilingū! Tuir veiksmīgi autentificēts, taču GitHub nenodrošina čaulas piekļuvi.

Tas liecina, ka autentifikācija bija veiksmīga.

Repozitoriju pārvaldība, izmantojot SSH

SSH konfigurēšana ļauj pārvaldīt savus krātuves, neuztraucoties par paroļu un piekļuves pilnvaru problēmām.

Attālā URL iestatīšana

git tālvadības pults komplekts-url origin [email protected]:/.git

Repozitorija klonēšana

git klons [email protected]:/.git

Izmaiņu nosūtīšana repozitorijā

git push izcelsme 

Izmaiņu izvilkšana no repozitorija

git pull izcelsme 

SSH priekšrocības salīdzinājumā ar paroles autentifikāciju

SSH izmantošana autentifikācijai piedāvā vairākas ievērojamas priekšrocības salīdzinājumā ar tradicionālajām paroles autentifikācijas metodēm. Tas iekļauj:

  • SSH autentifikācija novērš nepieciešamību pēc parolēm, samazinot akreditācijas datu zādzības risku.
  • Kriptogrāfisko atslēgu izmantošana padara to imunitāti pret brutāla spēka uzbrukumi salīdzinot ar parolēm.
  • Ja jūsu privātā atslēga ir apdraudēta, varat to atsaukt un aizstāt, padarot apdraudēto atslēgu nederīgu.

Šī iemesla dēļ SSH autentifikācija parasti ir labāka iespēja salīdzinājumā ar paroles autentifikāciju.

Labākā prakse un problēmu novēršana

Lai nodrošinātu vienmērīgu un drošu SSH iestatīšanu, ir jāievēro paraugprakse un jāapzinās bieži sastopamās problēmas, kas var rasties, un to novēršanas veidi.

  1. Vienmēr iestatiet ieejas frāzi, lai izveidotu papildu drošības līmeni.
  2. Praktizējiet biežu taustiņu rotāciju un dublēšanu.
  3. Apstipriniet katru darbību, lai izvairītos no atļauju kļūdām vai nepareizas SSH aģenta konfigurācijas.

Ievērojot šīs paraugprakses, varat droši izmantot GitHub SSH autentifikāciju.

SSH daudzpusība

SSH tiek plaši izmantots citās jomās, lai attālināti pārvaldītu serverus, mikrokontrollerus un tīkla ierīces, jo tas nodrošina drošu piekļuvi komandrindas saskarnei (CLI), ļaujot lietotājiem veikt dažādus uzdevumus, konfigurēt iestatījumus, pārsūtīt failus un novērst problēmas jautājumiem.