Itt van a teendő, ha az SSH-kapcsolatok Linuxon nem válaszolnak, és a billentyűleütések nem működnek.

Lehet, hogy egy távoli SSH-munkamenetet ír be, és hirtelen nem történik semmi. Úgy tűnik, hogy a rendszer nem reagál a billentyűleütésekre. Mit csinálsz?

Íme, miért történik ez, hogyan lehet kilépni egy nem reagáló SSH-munkamenetből, és miért érdemes Mosh-ra váltani.

Mi okozza az SSH-munkamenetek lefagyását?

Az SSH-munkamenetek lefagyásának fő oka a hálózati kapcsolat megszakadása. A Wi-Fi jelek csökkenhetnek, vagy hagyhatja alvó állapotba a számítógépet. Ez a leggyakoribb a laptopoknál. Lezárhatja a laptop fedelét, miközben elfelejti, hogy még mindig bejelentkezett SSH-n keresztül.

Az SSH-t eredetileg egy olyan korszakban tervezték, amikor az emberek rutinszerűen használtak laptopokat. Az SSH jobban működik vezetékes hálózatokon.

1. Befejezés egy szökési szekvenciával

Ha az SSH-munkamenet lefagy, próbálkozzon egy escape szekvencia használatával. Az escape szekvencia lehetővé teszi, hogy jeleket küldjön az SSH-ügyfélnek a távoli gép helyett. Az Escape sorozatokat egy escape karakter előzi meg. Az OpenSSH kliensen alapértelmezés szerint a

instagram viewer
hullám (~) karakter.

Az SSH kliensből való kilépéshez nyomja meg a tilde billentyűt, majd a időszak (.) kulcs.

Az escape karaktert is módosíthatja, ha akarja. Megadhat egy új escape karaktert a -e opciót a parancssorban. A beállítással véglegesen is módosíthatja EscapeChar opció az Önben .ssh/config fájlt a helyi gép saját könyvtárában.

2. A kill parancs használata

Ha a escape szekvencia használata nem működik, megpróbálhatja megölni az SSH-klienst. A munkamenet folyamatazonosítójának (PID) megkereséséhez adja ki a ps parancsot a grep segítségével:

ps aux | grep ssh

A ps "aux" argumentuma azt jelenti, hogy "felsorol minden folyamatot a rendszeren, függetlenül attól, hogy kihez tartozik, vagy hogy van-e vezérlő terminál vagy nem."

Ha több munkamenete van, kiválaszthatja a lefagyottat, mert a listán megjelenik a felhasználónév és a cím azon a távoli gépen, amelyre az SSH-munkamenetek bejelentkeztek. Miután megtalálta a munkamenet PID-jét, leállíthatja azt a kill paranccsal:

kill [PID]

A jobb SSH-kapcsolatok érdekében használja a Mosh!

A lefagyott SSH-munkamenetek bosszantó elkerülésének jobb módja a használat Mosh. Ha a kapcsolat megszakad, a Mosh lehetővé teszi, hogy kapcsolatban maradjon. Minden üzenetet elküld, amikor újracsatlakozik. Akkor is működik, ha alvó állapotba helyezi a gépet.

Használhat terminál multiplexert, például a GNU Screent vagy a tmux-ot az SSH-munkamenet folytatásához bármilyen leválasztás után, de A Mosh és a tmux még erősebb, ha együtt használják őket.

A Mosh telepítése Debianra és Ubuntura:

sudo apt install mosh

És Arch Linuxon:

sudo pacman -S mosh

A Red Hat disztribúciók családjáról:

sudo dnf install mosh

Most megszabadulhat az elakadt SSH-munkamenetektől

A nem reagáló SSH-munkamenetek frusztrálóak lehetnek, de egy escape szekvenciával vagy a kill paranccsal megszabadulhat tőlük. A Mosh egy még jobb csere, amely életben tartja a kapcsolatot a kapcsolat megszakadásával és a rendszer elalvásával.