Evo što učiniti kada vaše SSH veze na Linuxu prestanu reagirati i pritisci tipki ne rade.

Možda tipkate u udaljenoj SSH sesiji i odjednom se ništa ne događa. Čini se da sustav ne reagira na vaše pritiske tipki. Što radiš?

Evo zašto se to događa, kako prekinuti SSH sesiju koja ne reagira i zašto biste se trebali prebaciti na Mosh.

Što uzrokuje zamrzavanje SSH sesija?

Glavni razlog zamrzavanja SSH sesija je prekid mrežne veze. Wi-Fi signali mogu pasti ili možete pustiti svoje računalo u stanje mirovanja. To je najčešće kod prijenosnih računala. Možete zatvoriti poklopac prijenosnog računala zaboravivši da ste još uvijek prijavljeni preko SSH-a.

SSH je izvorno osmišljen u doba prije nego što su ljudi rutinski koristili prijenosna računala. SSH radi bolje preko žičnih mreža.

1. Završite izlaznom sekvencom

Ako se vaša SSH sesija zamrzne, pokušajte upotrijebiti escape sekvencu. Escape sekvenca vam omogućuje slanje signala SSH klijentu umjesto udaljenom računalu. Escape sekvence prethode escape znaku. Prema zadanim postavkama na OpenSSH klijentu, to je tilda (~) lik.

instagram viewer

Da biste zatvorili SSH klijent, možete pritisnuti tipku tilde, a zatim točka (.) ključ.

Također možete promijeniti znak za izlaz ako želite. Možete navesti novi izlazni znak pomoću -e opciju u naredbenom retku. Možete ga i trajno promijeniti postavljanjem EscapeChar opcija u vašem .ssh/config datoteku u vašem matičnom direktoriju na lokalnom računalu.

2. Korištenje naredbe kill

Ako korištenje izlazne sekvence ne radi, možete pokušati zatvoriti SSH klijent. Da biste pronašli ID procesa (PID) svoje sesije, provedite naredbu ps kroz grep:

ps aux | grep ssh

Argument "aux" za ps znači "navesti svaki proces na sustavu, bez obzira kome pripada ili ima li upravljački terminal ili ne."

Ako imate više sesija, možete odabrati onu zamrznutu jer će popis prikazati korisničko ime i adresu na udaljenom računalu na kojem su SSH sesije prijavljene. Nakon što pronađete PID svoje sesije, možete je prekinuti naredbom kill:

kill [PID]

Za bolje SSH veze, koristite Mosh!

Bolji način izbjegavanja dosadnih zamrznutih SSH sesija je korištenje Mosh. Ako veza padne, Mosh će vam omogućiti da ostanete povezani. Poslat će sve poruke kada se ponovno povežete. Također radi kada stroj stavite u stanje mirovanja.

Također možete koristiti terminalski multiplekser kao što je GNU Screen ili tmux za nastavak vaše SSH sesije nakon prekida veze, ali Mosh i tmux su još moćniji kada se koriste zajedno.

Da biste instalirali Mosh na Debian i Ubuntu:

sudo apt install mosh

I na Arch Linuxu:

sudo pacman -S mosh

O Red Hat obitelji distribucija:

sudo dnf install mosh

Sada se možete riješiti zaglavljenih SSH sesija

SSH sesije koje ne reagiraju mogu biti frustrirajuće, ali možete ih se riješiti sekvencom izlaza ili naredbom kill. Mosh je još bolja zamjena koja će održavati vašu vezu živom tijekom prekida veze i spavanja sustava.