Zabij nieodpowiadającą sesję ssh bez zamykania terminala

110

Czy istnieje sposób na rozłączenie się z sesją SSH, która przestała odpowiadać bez zabijania całego terminala? W szczególności używam konsoli, a maszyna, z którą pracuję czasami zawiesza się, ale tak naprawdę nie umiera (w ten sposób zabijając połączenie). Więc SSH po prostu się zawiesza i muszę zamknąć terminal i otworzyć nowy, aby spróbować ssh z powrotem do niego lub zrobić cokolwiek innego. Czy istnieje sposób, aby skutecznie ctrl + c wyjść z sesji ssh?

Falmarri
źródło

Odpowiedzi:

150

Jednym ze sposobów jest użycie znaku ucieczki ssh. Domyślnie jest to „~”, ale można to ustawić ręcznie z -eopcją podczas wywoływania ssh lub poprzez EscapeCharw konfiguracji ssh. Aby zabić zawieszoną sesję, często będzie to działać:

~.

Jak zauważył Gilles, jest to rozpoznawane natychmiast po uderzeniu Enter.

Steven D.
źródło
25
W rzeczywistości zadziała to niezależnie od tego, co dzieje się na zdalnym komputerze. To, czego doświadczyłeś, ~jest aktywne tylko natychmiast po naciśnięciu klawisza Enter (w przeciwnym razie byłoby to zbyt nachalne).
Gilles,
3
Idealnie, chciałbym, żeby to gdzieś udokumentowano lepiej, nigdy wcześniej nie widziałem, aby tego używać
Falmarri,
4
W (przynajmniej) portugalskich klawiaturach dotknij dwukrotnie, ~a następnie.
rsilva4