Zde je návod, co dělat, když vaše připojení SSH v Linuxu přestanou reagovat a stisk kláves nefunguje.

Možná píšete ve vzdálené relaci SSH a najednou se nic neděje. Zdá se, že systém nereaguje na vaše stisknutí kláves. Co děláš?

Zde je důvod, proč k tomu dochází, jak ukončit nereagující relaci SSH a proč možná budete chtít přejít na Mosh.

Co způsobuje zmrazení relací SSH?

Hlavním důvodem zamrznutí relací SSH je výpadek síťového připojení. Signály Wi-Fi mohou klesnout nebo můžete nechat počítač přejít do režimu spánku. To je nejčastější u notebooků. Můžete zavřít víko notebooku a zapomenout, že jste stále přihlášeni přes SSH.

SSH bylo původně navrženo v době, kdy lidé běžně nepoužívali notebooky. SSH funguje lépe přes kabelové sítě.

1. Ukončete únikovou sekvencí

Pokud vaše relace SSH zamrzne, zkuste použít escape sekvenci. Escape sekvence vám umožňuje odesílat signály klientovi SSH namísto vzdáleného počítače. Únikovým sekvencím předchází úniková postava. Ve výchozím nastavení klienta OpenSSH je to vlnovka (~) charakter.

instagram viewer

Chcete-li ukončit klienta SSH, můžete stisknout klávesu tilda a poté doba (.) klíč.

Pokud chcete, můžete také změnit únikový znak. Můžete zadat nový znak escape pomocí -E možnost na příkazovém řádku. Můžete jej také trvale změnit nastavením EscapeChar možnost ve vašem .ssh/config soubor ve vašem domovském adresáři na místním počítači.

2. Pomocí příkazu kill

Pokud použití escape sekvence nefunguje, můžete zkusit zabít klienta SSH. Chcete-li najít ID procesu (PID) vaší relace, použijte příkaz ps přes grep:

ps aux | grep ssh

Argument „aux“ pro ps znamená „seznam všech procesů v systému, bez ohledu na to, komu patří nebo zda má ovládací terminál nebo ne."

Pokud máte více relací, můžete vybrat zmrazenou, protože výpis zobrazí uživatelské jméno a adresu na vzdáleném počítači, ke kterému jsou relace SSH přihlášeny. Jakmile najdete PID své relace, můžete ji ukončit příkazem kill:

kill [PID]

Pro lepší připojení SSH použijte Mosh!

Lepším způsobem, jak se vyhnout otravným zmrazeným relacím SSH, je použití Mosh. Pokud připojení přestane fungovat, Mosh vám umožní zůstat ve spojení. Po opětovném připojení odešle všechny zprávy. Funguje to také, když stroj uspíte.

Můžete také použít terminálový multiplexer jako GNU Screen nebo tmux k obnovení relace SSH po jakémkoli odpojení, ale Mosh a tmux jsou ještě výkonnější, když se používají společně.

Chcete-li nainstalovat Mosh na Debian a Ubuntu:

sudo apt install mosh

A na Arch Linuxu:

sudo pacman -S mosh

O rodině distribucí Red Hat:

sudo dnf install mosh

Nyní se můžete zbavit zaseknutých relací SSH

Nereagující relace SSH mohou být frustrující, ale můžete se jich zbavit pomocí únikové sekvence nebo příkazu kill. Mosh je ještě lepší náhrada, která udrží vaše připojení naživu prostřednictvím výpadků připojení a spánku systému.