Ինչպե՞ս ստեղծել և կարգավորել SSH ստեղները CentOS 7-ում:


Ներածություն

Այսօրվա թվային դարաշրջանում անվտանգ հաղորդակցությունը գլխավոր առաջնահերթությունն է ինչպես անհատների, այնպես էլ ձեռնարկությունների համար: Երբ զգայուն տվյալները փոխանցվում են ինտերնետի միջոցով, կարևոր է, որ դրանք մնան գաղտնի և պաշտպանված չթույլատրված մուտքից: Այստեղ են մտնում SSH ստեղները:

SSH ստեղները վավերացման մեթոդի մի տեսակ են, որն օգտագործվում է երկու ցանցային սարքերի միջև անվտանգ կապ հաստատելու համար: Դրանք ծածկագրային բանալիներ են, որոնք հնարավորություն են տալիս տվյալների անվտանգ փոխանցումը գաղտնագրման միջոցով:

Ի տարբերություն օգտանունների/գաղտնաբառի նույնականացման ավանդական մեթոդների, SSH ստեղները շատ ավելի ապահով են: Գաղտնաբառերը կարելի է գուշակել կամ կոտրել, բայց SSH բանալիների զույգերը գրեթե անհնար է կոտրել:

SSH ստեղների ստեղծում CentOS 7-ում

Անվտանգ հաղորդակցության բանալին

SSH ստեղները կարևոր նշանակություն ունեն երկու համակարգերի միջև անվտանգ հաղորդակցություն հաստատելու համար: Դրանք, ըստ էության, գաղտնագրման զույգ բանալիներ են՝ հանրային և մասնավոր, որոնք կարող են ստեղծվել օգտագործելով ssh-keygen հրամանը:

Մասնավոր բանալին պահվում է հաճախորդի համակարգում, մինչդեռ հանրային բանալին պատճենվում է այն սերվերին (սերվերին), որին հաճախորդը ցանկանում է մուտք գործել: Երբ հաճախորդը փորձում է միանալ սերվերին, այն ուղարկում է իր հանրային բանալին՝ նույնականացման խնդրանքի հետ մեկտեղ:

Քայլ առ քայլ ուղեցույց

CentOS 7-ում SSH ստեղների ստեղծման գործընթացը ներառում է ssh-keygen հրամանի օգտագործումը, որը նախապես տեղադրված է Linux բաշխումների մեծ մասում, ներառյալ CentOS 7-ում: RSA (Rivest-Shamir-Adleman) տեսակի SSH բանալիների զույգ ստեղծելու համար հետևեք այս քայլերին.

  • Բացեք ձեր տերմինալը կամ հրամանի տողը:

  • Մուտքագրեք «ssh-keygen» և սեղմեք enter:

  • Դուք կտեսնեք հուշում, որը կհարցնի, թե որտեղ եք ցանկանում պահպանել ձեր նոր բանալիները: Լռելյայն գտնվելու վայրը սովորաբար լավ է, այնպես որ պարզապես սեղմեք Enter:

  • Ձեզանից կպահանջվի նաև անցաբառ (գաղտնաբառ): Ընդհանրապես խորհուրդ է տրվում, որ այստեղ ինչ-որ ուժեղ բան ընտրեք, քանի որ եթե ինչ-որ մեկը կարողանա մուտք գործել ձեր անձնական բանալի, նրանք լիարժեք մուտք կունենային այնպես, ասես դուք լինեիք:

  • Սեղմեք Enter ևս երկու անգամ, երբ ձեզ հուշում են դատարկ անցաբառի համար (եթե դուք այդպիսի բան չեք ցանկանում): Դուք այժմ հաջողությամբ ստեղծել եք ձեր RSA SSH ստեղները:

Բանալների ստեղծման ընթացքում հասանելի ընտրանքներ

Ստեղծման գործընթացում կան մի քանի տարբերակներ, որոնք առաջարկում են լրացուցիչ վերահսկողություն, թե ինչպես են ստեղծվում ձեր SSH ստեղները: Օրինակ −

  • Բանալի տեսակ − RSA-ն լռելյայն տարբերակն է, բայց դուք կարող եք նաև ստեղներ ստեղծել՝ օգտագործելով DSA (Թվային ստորագրության ալգորիթմ) կամ ECDSA (էլիպտիկ կորի թվային ստորագրության ալգորիթմ): - Բանալի չափս. RSA-ի և DSA-ի համար լռելյայն բանալու չափը 2048 բիթ է, բայց դուք կարող եք մեծացնել այն, եթե ձեզ ավելի շատ անվտանգություն է անհրաժեշտ:

  • Անցաբառ − Անցաբառը կամընտիր է, բայց այն ավելացնում է անվտանգության ևս մեկ շերտ ձեր SSH ստեղներին: Համոզվեք, որ ընտրել եք ուժեղ անցաբառ, որը ներառում է մեծ և փոքրատառ տառեր, նշաններ և թվեր:

SSH ստեղների կարգավորում CentOS 7-ում

Պատճենեք հանրային բանալին հեռավոր սերվերում՝ օգտագործելով ssh-copy-id հրամանը

Ձեր SSH ստեղները ստեղծելուց հետո հաջորդ քայլը ձեր հանրային բանալին պատճենելն է հեռավոր սերվերին, որը ցանկանում եք մուտք գործել: Դա անելու ամենահեշտ ձևը ssh-copy-id հրամանի օգտագործումն է: Այս հրամանը ավտոմատ կերպով պատճենում է ձեր հանրային բանալին հեռավոր սերվերի authorized_keys ֆայլում, որը թույլ է տալիս նույնականացնել ձեր անձնական բանալիով:

Այս հրամանի օգտագործման շարահյուսությունը հետևյալն է −

ssh-copy-id username@remote_server_ip_address 

Փոխարինեք «username»-ը այն հաշվի օգտվողի անունով, որը ցանկանում եք մուտք գործել հեռավոր սերվերի վրա, և «remote_server_ip_address»-ը՝ իր IP հասցեով կամ տիրույթի անունով: Այս գործընթացի ընթացքում ձեզանից կպահանջվի մուտքագրել ձեր գաղտնաբառը հեռավոր սերվերի վրա:

Հանրային բանալին պատճենելու այլընտրանքային մեթոդներ

Եթե ինչ-ինչ պատճառներով չեք կարող օգտագործել ssh-copy-id-ը (օրինակ՝ այն տեղադրված չէ տեղական կամ հեռավոր համակարգում), կան ձեր հանրային բանալին ձեռքով պատճենելու այլընտրանքային մեթոդներ: Ճանապարհներից մեկը տեքստային խմբագրիչ օգտագործելն է և ձեր հանրային բանալին նոր տողում տեղադրելը հեռավոր սերվերի authorized_keys ֆայլում: Դա անելու համար հետևեք այս քայլերին −

  • Բացեք նոր տերմինալի պատուհան և նավարկեք դեպի այն գրացուցակը, որտեղ գտնվում է ձեր հանրային բանալին:

  • Օգտագործեք cat կամ ավելի հրաման՝ դրա բովանդակությունը դիտելու համար −

cat ~/.ssh/id_rsa.pub 
  • Պատճենեք այս ֆայլի ամբողջ բովանդակությունը:

  • Մուտք գործեք որպես արմատ կամ օգտագործեք sudo su և բացեք SSH կազմաձևման ֆայլը nano-ով

nano ~/.ssh/authorized_keys 
  • Տեղադրեք պատճենված բովանդակությունը այստեղ:

  • Պահպանեք փոփոխությունները և փակեք nano-ն:

Կարգավորման գործընթացում ընդհանուր խնդիրների վերացում

Կան մի քանի ընդհանուր խնդիրներ, որոնք կարող են առաջանալ SSH ստեղների տեղադրման գործընթացում: Ամենատարածվածներից մեկը autorized_keys ֆայլի կամ դրա մայր գրացուցակի սխալ թույլտվություններն են: Սա կարող է թույլ չտալ, որ ձեր հանրային բանալին պատճենվի autorized_keys ֆայլում կամ թույլ չտա ձեզ մուտք գործել հեռավոր սերվեր ձեր անձնական բանալիով:

Այս խնդիրը շտկելու համար համոզվեք, որ .ssh գրացուցակի և autorized_keys ֆայլի թույլտվությունները սահմանված են համապատասխանաբար 700 և 600 −

chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys 

Մեկ այլ խնդիր, որը կարող է առաջանալ, ձեր հանրային բանալու սխալ ձևաչափն է authorized_keys ֆայլում:

Համոզվեք, որ ձեր հանրային բանալին ճիշտ ձևաչափված է՝ առանց տողերի ընդհատումների, և որ այն տեղադրված է այս ֆայլի մեկ տողի վրա: Եթե այս գործընթացի ընթացքում որևէ այլ խնդրի հանդիպեք, ստուգեք ձեր CentOS համակարգում /var/log/secure մուտքերը՝ օգտակար տեղեկություններ գտնելու այն մասին, թե ինչն է սխալվել:

Ընդլայնված թեմաներ SSH բանալիների կառավարման մեջ

SSH ստեղների տարբեր տեսակների ակնարկ (օրինակ՝ RSA, DSA, ECDSA)

SSH ստեղները գալիս են բազմաթիվ տարբեր տեսակների, որոնցից յուրաքանչյուրն ունի իր յուրահատուկ բնութագրերի հավաքածուն, որը կարող է այն ավելի հարմարեցնել որոշակի օգտագործման դեպքերի համար: SSH ստեղների երեք առավել հաճախ օգտագործվող տեսակներն են՝ RSA, DSA և ECDSA: RSA-ն SSH ստեղնների ամենալայն կիրառվող տեսակն է և աջակցում է ստեղների չափերը՝ սկսած 1024-ից մինչև 4096 բիթ:

Այն համարվում է անվտանգ և հուսալի շատ նպատակների համար: DSA ստեղները ավելի քիչ են օգտագործվում, բայց առաջարկում են ստորագրման և հաստատման ավելի արագ ժամանակներ, քան RSA ստեղները:

Այնուամենայնիվ, DSA-ն սահմանափակված է 1024 բիթանոց բանալու առավելագույն չափով և համարվում է ավելի քիչ ապահով, քան RSA-ն: ECDSA-ն SSH բանալի ավելի նոր տեսակ է, որն օգտագործում է էլիպսային կորի գաղտնագրություն RSA-ի և DSA-ի կողմից օգտագործվող ավելի ավանդական մեթոդների փոխարեն:

Այն առաջարկում է ստորագրման ավելի արագ ժամանակներ և բանալիների փոքր չափսեր՝ պահպանելով անվտանգության ուժեղ հատկությունները: Այնուամենայնիվ, այն կարող է չաջակցվել բոլոր սերվերների կամ հաճախորդների կողմից:

Օգտագործելով բազմաթիվ բանալիներ տարբեր սերվերների կամ նպատակների համար

Օգտատերերի համար սովորական է մի քանի սերվերներ ունենալ, որոնց պետք է մուտք գործեն՝ օգտագործելով SSH ստեղները, որոնցից յուրաքանչյուրն ունի իր պահանջները (օրինակ՝ տարբեր օգտվողի անուններ կամ անցաբառեր): Այս դեպքերում կարևոր է յուրաքանչյուր սերվերի համար օգտագործել առանձին բանալիներ՝ նվազագույնի հասցնելու ռիսկը, եթե մեկ բանալին վտանգի ենթարկվի: Մեկ հաճախորդի մեքենայի վրա մի քանի SSH ստեղներ օգտագործելու համար ձեզ հարկավոր է ստեղծել առանձին մասնավոր/հրապարակային բանալիներ՝ օգտագործելով յուրաքանչյուր զույգի եզակի ֆայլի անունը (օրինակ՝ id_rsa_server1):

Այնուհետև կարող եք նշել, թե որ բանալին պետք է օգտագործվի որոշակի սերվերին միանալու ժամանակ՝ կարգավորելով ձեր ssh կազմաձևման ֆայլը այնպիսի տարբերակներով, ինչպիսին է IdentityFile-ը: Բազմաթիվ ստեղների օգտագործման մեկ այլ դեպք է SSH-ի միջոցով նույնականացում պահանջող տարբեր ծառայություններ կամ հավելվածներ մուտք գործելիս:

Օրինակ, դուք կարող եք ունենալ ստեղների մեկ հավաքածու՝ Git-ի պահոց մուտք գործելու համար և մեկ այլ ստեղներ՝ հեռավոր սերվեր մուտք գործելու համար: Օգտագործելով առանձին բանալիներ, դուք կարող եք նվազագույնի հասցնել ռիսկերը, որոնք կապված են մեկ բանալու վտանգի հետ:

Եզրակացություն

Այս հոդվածում մենք գնացինք CentOS 7-ում SSH ստեղների ստեղծման և տեղադրման քայլերի միջով: Մենք ուսումնասիրեցինք SSH ստեղների կարևորությունը անվտանգ հաղորդակցության մեջ և նույնականացման համար դրանք օգտագործելու առավելությունները: SSH ստեղներ ստեղծելիս կարևոր է ընտրել ուժեղ անցաբառ, որը հնարավոր չէ հեշտությամբ կռահել կամ կոպիտ կերպով պարտադրել:

Բացի այդ, մենք անդրադարձանք տարբեր մեթոդների՝ հանրային բանալիները հեռավոր սերվերների վրա պատճենելու և կարգաբերման ընթացքում ընդհանուր խնդիրների վերացման համար: Շատ կարևոր է պարբերաբար թարմացնել և պտտել ձեր SSH ստեղները՝ դրանց անվտանգությունը պահպանելու համար: