Ինչպես դուրս գալ Linux-ի անպատասխանատու SSH նիստից
Ահա թե ինչ պետք է անել, երբ ձեր SSH կապերը Linux-ում չեն արձագանքում, և ստեղնաշարերը չեն աշխատում:
Հնարավոր է, որ դուք մուտքագրում եք հեռավոր SSH նիստում, և հանկարծ ոչինչ տեղի չի ունենում: Համակարգը կարծես չի արձագանքում ձեր ստեղնաշարին: Ինչո՞վ եք զբաղվում։
Ահա թե ինչու է դա տեղի ունենում, ինչպես դուրս գալ չպատասխանող SSH նիստից և ինչու կարող եք անցնել Mosh-ին:
Ի՞նչն է առաջացնում SSH նիստերի սառեցում:
SSH նիստերի սառեցման հիմնական պատճառը ցանցային կապի անկումն է: Wi-Fi ազդանշանները կարող են ընկնել, կամ կարող եք թույլ տալ, որ ձեր համակարգիչը քնի: Սա առավել տարածված է նոութբուքերի դեպքում: Դուք կարող եք փակել նոութբուքի կափարիչը՝ մոռանալով, որ դեռ մուտք եք գործել SSH-ի միջոցով:
SSH-ն ի սկզբանե նախագծվել էր այն դարաշրջանում, երբ մարդիկ սովորաբար օգտագործում էին նոութբուքերը: SSH-ն ավելի լավ է աշխատում լարային ցանցերի վրա:
1. Ավարտել փախուստի հաջորդականությամբ
Եթե ձեր SSH նստաշրջանը սառչում է, փորձեք օգտագործել փախուստի հաջորդականությունը: Փախուստի հաջորդականությունը թույլ է տալիս ազդանշաններ ուղարկել SSH հաճախորդին հեռավոր մեքենայի փոխարեն: Փախուստի հաջորդականությունները նախաբանվում են փախուստի կերպարով: Լռելյայնորեն OpenSSH հաճախորդի վրա դա tilde (~) նիշն է:
SSH հաճախորդից դուրս գալու համար կարող եք սեղմել tilde ստեղնը, այնուհետև period (.) ստեղնը:
Դուք կարող եք նաև փոխել փախուստի նիշը, եթե ցանկանում եք: Հրամանի տողում -e տարբերակով կարող եք նշել նոր փախուստի նիշ: Կարող եք նաև ընդմիշտ փոխել այն՝ կարգավորելով EscapeChar տարբերակը ձեր .ssh/config ֆայլում տեղական մեքենայի ձեր տնային գրացուցակում:
2. Օգտագործելով սպանել հրամանը
Եթե փախուստի հաջորդականության օգտագործումը չի աշխատում, կարող եք փորձել սպանել SSH հաճախորդը: Ձեր նստաշրջանի գործընթացի ID-ն (PID) գտնելու համար ps հրամանը փոխանցեք grep-ի միջոցով.
ps aux | grep ssh
«aux» արգումենտը ps-ին նշանակում է «թվարկեք համակարգի բոլոր գործընթացները, անկախ նրանից, թե ում է պատկանում այն կամ ունի վերահսկիչ տերմինալ, թե ոչ»:
Եթե դուք ունեք մի քանի նիստեր, կարող եք ընտրել սառեցվածը, քանի որ ցանկը ցույց կտա օգտվողի անունը և հասցեն հեռավոր մեքենայի վրա, որտեղ մուտք են գործել SSH նիստերը: Երբ գտնեք ձեր նստաշրջանի PID-ը, կարող եք դադարեցնել այն kill հրամանով.
kill [PID]
Ավելի լավ SSH միացումների համար օգտագործեք Mosh!
Սառեցված SSH նիստերից խուսափելու ավելի լավ միջոց է օգտագործել Mosh-ը: Եթե կապը դադարի, Mosh-ը թույլ կտա ձեզ մնալ կապված: Այն կուղարկի ցանկացած հաղորդագրություն, երբ նորից միանաք: Այն նաև աշխատում է, երբ ձեր մեքենան քնեցնում եք:
Դուք կարող եք նաև օգտագործել տերմինալային մուլտիպլեքսեր, ինչպիսին է GNU Screen-ը կամ tmux-ը՝ ձեր SSH նիստը ցանկացած անջատումից հետո վերսկսելու համար, սակայն Mosh-ը և tmux-ն ավելի հզոր են, երբ օգտագործվում են միասին:
Mosh-ը Debian-ում և Ubuntu-ում տեղադրելու համար.
sudo apt install mosh
Իսկ Arch Linux-ում.
sudo pacman -S mosh
Red Hat ընտանիքի բաշխումների մասին.
sudo dnf install mosh
Այժմ դուք կարող եք ազատվել խրված SSH նիստերից
Անպատասխան SSH նիստերը կարող են հիասթափեցնել, բայց դուք կարող եք ազատվել դրանցից փախուստի հաջորդականությամբ կամ սպանության հրամանով: Mosh-ը նույնիսկ ավելի լավ փոխարինող է, որը կպահպանի ձեր կապը կապի անկման և համակարգի քնի միջոցով: