SSH երկրորդ մասնավոր ուղու վրա, երբ VPN-ը մնում է ակտիվ
Թունելի հասցեին կապված SSH դեմոնը չի պատասխանի նոր մասնավոր ինտերֆեյսում։ Ավելացրեք կապումը և ստուգեք նոր սեսիան հինը փակելուց առաջ։
Մի մեքենան հասնում է մյուսին VPN-ով, և ինչ-որ մեկն այժմ ուզում է նույն shell-ը մատակարարի մասնավոր ցանցով։ Երթուղին գոյություն ունի, ping-ը հաջողվում է, բայց SSH-ը դեռ մերժում է։ Սովորական պատճառն այն է, որ դեմոնը երբեք չի լսել նոր հասցեում, ուստի միանալու բան չկա։ Սա հասցեի կապման խնդիր է՝ նախքան firewall-ի խնդիր լինելը։
Ինչու նոր երթուղին նոր լսող չի ստեղծում
Լսող socket-ը ստեղծում է գործընթաց, որը նշում է այն հասցեները, որտեղ պատրաստ է ընդունել։ Երթուղին միայն ասում է փաթեթներին, թե ուր գնալ՝ այն լսող չի ստեղծում նպատակակետում։ Երբ sshd-ը կարգավորված է մեկ ListenAddress-ով, ցանկացած այլ տեղական հասցեի միացումներ մերժվում են, թեև ինտերֆեյսը աշխատում է։ Նույնը վերաբերում է socket միավորին, որը տիրապետում է պորտին, այդ պատճառով առաջին ստուգումը միշտ այն է, թե ինչն է իրականում լսում։
Համեմատեք երկու ուղիները ըստ նպատակակետ հասցեի, ոչ թե ինտերֆեյսի անվան։ Հաճախորդը միանում է հասցեին, և այդ հասցեն պետք է կապված լինի նախքան ցանկացած firewall կանոն նշանակություն կստանա։
Թվարկեք հասցեները և լսողները
Որևէ բան խմբագրելուց առաջ գրանցեք հոսթի հասցեները և այն socket-ները, որոնք հիմա գոյություն ունեն։
ip -br addr
ss -ltnp | grep ':22'Հասցեների ցանկը ցույց է տալիս, թե որ մասնավոր հասցեն է իրական և որ ինտերֆեյսում, իսկ socket-ների ցանկը՝ արդյոք ինչ-որ բան կապված է դրան։ 0.0.0.0:22 հասցեում լսողը արդեն ընդունում է բոլոր հասցեները, ուստի նոր կապումը ոչինչ չի ավելացնում։ Մեկ կոնկրետ հասցեում լսողը անմիջապես բացատրում է մերժումը։ Եթե պորտը պատկանում է socket միավորին, այլ ոչ դեմոնին, ապա դեմոնի կարգավորումը ամբողջ պատմությունը չէ։
Ավելացրեք կապումը և պահպանեք հինը
OpenSSH-ը ընդունում է մի քանի ListenAddress գրառում, ուստի VPN ուղին կարող է մնալ, մինչ մասնավորն ավելացվում է։ Նախքան այն վերաբեռնելը՝ ստուգեք ֆայլը։
sshd -t
systemctl reload sshdՁախողված կարգավորման ստուգումը թողնում է աշխատող դեմոնը անփոփոխ, և դա հենց այն է, ինչ պետք է, երբ միացած եք այն ուղով, որը խմբագրում եք։ Պահեք գոյություն ունեցող գրառումը, ավելացրեք նոր տեղական հասցեն և հաստատեք, որ ծառայությունը վերաբեռնվում է առանց ընթացիկ սեսիան ընդհատելու։ Socket-ով ակտիվացվող տեղադրումներում հասցեն ավելացրեք socket միավորին և վերաբեռնեք այդ միավորը։ Այնուհետև նորից կարդացեք լսողների ցանկը, որովհետև այն կապումը, որը երբեք չհայտնվեց, նշանակում է, որ սխալ բաղադրիչ է խմբագրվել։
Ստուգեք նոր սեսիան հինը փակելուց առաջ
Միացեք նոր հասցեին, մինչ սկզբնական սեսիան դեռ բաց է, և մանրամասն ելքի միջոցով տեսեք, թե որ հասցեն և բանալին են օգտագործվել։ Սկզբնական սեսիան բաց պահեք, մինչև փորձարկումը երկու անգամ հաջողվի։
ssh -v [email protected]Կարդացեք նպատակակետ հասցեի և ներկայացված հոսթի բանալու վերաբերյալ վրիպազերծման տողերը։ Հոսթի բանալու մատնահետքը համեմատեք արդեն վստահելի արժեքի հետ, փոխարենը չընդունեք անհայտ բանալին, որովհետև ցանցը նկարագրված է որպես մասնավոր։ Նոր նպատակակետին անհրաժեշտ է իր սեփական known_hosts գրառումը, և դա սպասելի է։ Հին կառավարման սեսիան փակեք միայն այն ժամանակ, երբ մասնավոր ուղին աշխատի։
SSH-ը պաշտպանում է տրանսպորտը, բայց առանձին վերցրած այն երկու ցանցերին համարժեք չի դարձնում։ Որոշեք՝ արդյոք մասնավոր անցման վստահությունը համապատասխանում է տվյալներին, նախքան դրա վրա հենվելը։