Lūk, kā rīkoties, ja SSH savienojumi operētājsistēmā Linux nereaģē un taustiņsitieni nedarbojas.
Iespējams, rakstāt attālā SSH sesijā, un pēkšņi nekas nenotiek. Šķiet, ka sistēma nereaģē uz jūsu taustiņsitieniem. Ar ko tu nodarbojies?
Lūk, kāpēc tas notiek, kā iziet no nereaģējošas SSH sesijas un kāpēc jūs varētu vēlēties pārslēgties uz Mosh.
Kas izraisa SSH sesiju iesaldēšanu?
Galvenais SSH sesiju iesaldēšanas iemesls ir tīkla savienojuma pārtraukšana. Wi-Fi signāli var samazināties, vai arī varat ļaut datoram pāriet miega režīmā. Visbiežāk tas notiek klēpjdatoros. Varat aizvērt klēpjdatora vāku, aizmirstot, ka joprojām esat pieteicies, izmantojot SSH.
SSH sākotnēji tika izstrādāts laikmetā, pirms cilvēki regulāri izmantoja klēpjdatorus. SSH darbojas labāk vadu tīklos.
1. Pārtraukt ar aizbēgšanas secību
Ja jūsu SSH sesija sasalst, mēģiniet izmantot evakuācijas secību. Aizbēgšanas secība ļauj nosūtīt signālus SSH klientam, nevis attālajai mašīnai. Escape secību priekšā ir atsoļa rakstzīme. Pēc noklusējuma OpenSSH klientā tas ir tilde (~) raksturs.
Lai aizvērtu SSH klientu, varat nospiest tildes taustiņu un pēc tam periods (.) taustiņu.
Ja vēlaties, varat arī mainīt aizbēgšanas rakstzīmi. Varat norādīt jaunu atsoļa rakstzīmi ar -e opcija komandrindā. Varat arī to neatgriezeniski mainīt, iestatot EscapeChar iespēja jūsu .ssh/config failu savā mājas direktorijā vietējā datorā.
2. Izmantojot nogalināšanas komandu
Ja aizbēgšanas secības izmantošana nedarbojas, varat mēģināt nogalināt SSH klientu. Lai atrastu sesijas procesa ID (PID), ievadiet komandu ps, izmantojot grep:
ps aux | grep ssh
Arguments "aux" uz ps nozīmē "uzskaitīt visus sistēmas procesus neatkarīgi no tā, kam tas pieder un vai tam ir vadības terminālis vai nē."
Ja jums ir vairākas sesijas, varat izvēlēties iesaldēto, jo sarakstā būs redzams lietotājvārds un adrese attālajā datorā, kurā ir pieteicies SSH sesijas. Kad esat atradis savas sesijas PID, varat to pārtraukt ar komandu kill:
kill [PID]
Lai iegūtu labākus SSH savienojumus, izmantojiet Mosh!
Labāks veids, kā izvairīties no kaitinošām iesaldētām SSH sesijām, ir izmantot Moš. Ja savienojums pazūd, Mosh ļaus jums uzturēt savienojumu. Tas nosūtīs visus ziņojumus, kad atkārtoti izveidosit savienojumu. Tas darbojas arī tad, kad ieslēdzat mašīnu miega režīmā.
Varat arī izmantot termināļa multipleksoru, piemēram, GNU Screen vai tmux, lai atsāktu SSH sesiju pēc jebkādas atvienošanas, taču Mosh un tmux ir vēl jaudīgāki, ja tos izmanto kopā.
Lai instalētu Mosh uz Debian un Ubuntu:
sudo apt install mosh
Un Arch Linux:
sudo pacman -S mosh
Red Hat izplatīšanas saimē:
sudo dnf install mosh
Tagad varat atbrīvoties no iestrēgušām SSH sesijām
Nereaģējošas SSH sesijas var būt nomāktas, taču jūs varat no tām atbrīvoties, izmantojot evakuācijas secību vai nogalināšanas komandu. Mosh ir vēl labāks aizstājējs, kas saglabās jūsu savienojumu dzīvu, savienojuma pārtraukšanas un sistēmas miega dēļ.