Існує "секретна" комбінація клавіш, щоб змусити вихід: ~) З замороженого сеансу натисніть ці клавіші в порядку: Enter~.Тильда (лише після нового рядка) розпізнається ssh-клієнтом як послідовність виходу, і період повідомляє про Клієнт припиняє свою діяльність без зайвих помилок.
Поведінка, що триває в зв'язку з питаннями зв'язку, не є помилкою, сеанс SSH зависає з надією, що інша сторона повернеться. Якщо мережа розривається, іноді навіть через дні ви можете отримати сеанс SSH. Звичайно, ви можете конкретно сказати йому відмовитися і померти з послідовністю, наведеною вище. Ви також можете виконати різні дії, такі як встановлення тайм-аутів в режимі "живого життя" у вашому клієнті, щоб, якщо він не мав активного посилання протягом певного часу, він відключається самостійно, але поведінка за замовчуванням - це залишатися як як можна підключено!
Редагувати: Ще одне корисне застосування цього ключа переривання - привернути увагу місцевого клієнта ssh і передати його на хвилину, щоб повернутися до локальної оболонки - скажімо, щоб отримати щось із вашої історії -, а потім примусити його працювати далі. Enter~ Ctrl+, Zщоб відправити ssh-клієнта до чергової черги завдань локальної оболонки, тоді fg
як звичайно, щоб повернути його.
Редагувати: обмінюючись вкладеними сесіями SSH, ви можете додати кілька символів тильду, щоб вирватися лише з одного з сеансів SSH у ланцюжку, але зберегти інші. Наприклад, якщо ви вкладені в 3 рівні (тобто ви сш з локального-> Machine1-> Machine2-> Machine3), Enter~.ви повернетесь до свого локального сеансу, Enter~~.залишите вас у Machine1 і Enter~~~.залишите вас у Machine2 . Це працює і для інших послідовностей евакуації, таких як тимчасове переміщення сеансу ssh на фон. Вищезазначене працює для будь-якого рівня вкладення, просто додаючи більше тильди.
Нарешті, ви можете використовувати Enter~?для друку довідкового меню доступних команд евакуації.
TL; DR - підтримувані команди втечі підтримуються послідовностями:
~. - 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.)