Istnieje „tajny” skrót klawiaturowy, który wymusza wyjście: ~) Z zamrożonej sesji naciśnij kolejno następujące klawisze: Enter~.Tylda (tylko po nowej linii) jest rozpoznawana przez klienta ssh jako sekwencja ucieczki, a kropka informuje klient, aby zakończyć działalność bez zbędnych ceregieli.
Długie zawieszanie się w kwestiach komunikacyjnych nie jest błędem, sesja SSH spotyka się w nadziei, że druga strona wróci. Jeśli sieć się zepsuje, czasem nawet kilka dni później możesz odzyskać sesję SSH. Oczywiście możesz wyraźnie powiedzieć, żeby się poddał i umarł w powyższej sekwencji. Istnieją również różne rzeczy, które możesz zrobić, takie jak ustawianie limitów czasu podtrzymania w kliencie, aby jeśli nie miał aktywnego łącza przez określony czas, wyłącza się sam, ale domyślnym zachowaniem jest zachowanie podłączony jak to możliwe!
Edycja: Innym przydatnym zastosowaniem tego klucza przerwania jest zwrócenie uwagi lokalnego klienta ssh i uruchomienie go w tle, aby powrócił na chwilę do lokalnej powłoki - powiedzmy coś z historii - a następnie przygotuj go, aby działał zdalnie. Enter~ Ctrl+, Zaby wysłać klienta ssh do kolejki zadań w tle lokalnej powłoki, a następnie fg
jak zwykle, aby go odzyskać.
Edycja: Podczas pracy z zagnieżdżonymi sesjami SSH możesz dodać wiele znaków tyldy, aby wyjść tylko z jednej sesji SSH w łańcuchu, ale zachować pozostałe. Na przykład, jeśli jesteś zagnieżdżony na 3 poziomach (tj. Ssh z local-> Machine1-> Machine2-> Machine3), Enter~.wróci do lokalnej sesji, Enter~~.opuści cię na komputerze Machine1 i Enter~~~.pozostawi cię na komputerze Machine2 . Działa to również w przypadku innych sekwencji ucieczki, takich jak tymczasowe przeniesienie sesji ssh na tło. Powyższe działa na każdym poziomie zagnieżdżenia, po prostu dodając więcej tyldy.
Na koniec możesz użyć Enter~?do wydrukowania menu pomocy dostępnych poleceń ucieczki.
TL; DR - obsługiwane komendy specjalne to Obsługiwane sekwencje specjalne:
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - request rekey
~V/v - decrease/increase verbosity (LogLevel)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)