Убить не отвечающий сеанс SSH, не закрывая терминал


110

Есть ли способ отключиться от сеанса SSH, который перестал отвечать, не убивая весь терминал? В частности, я использую консоль, и машина, с которой я работаю, иногда зависает, но на самом деле не умирает (таким образом, разрушая соединение). Так что SSH просто зависает, и мне нужно закрыть терминал и открыть новый, чтобы попытаться вернуться в него по ssh или сделать что-то еще. Есть ли способ эффективно Ctrl + C из сеанса SSH?


Ответы:


150

Одним из способов является использование escape-символа ssh. По умолчанию это «~», но его можно установить вручную с -eпараметром при вызове ssh или через EscapeCharвашу конфигурацию ssh. Чтобы убить зависшую сессию, это часто будет работать:

~.

Как указывает Жиль, это признается только сразу после удара Enter.


25
На самом деле это будет работать независимо от того, что происходит на удаленной машине. Что вы испытали, так это то, что ~он активен только сразу после нажатия Enter (иначе это было бы слишком навязчиво).
Жиль

3
Отлично, я бы хотел, чтобы это где-то было задокументировано лучше, я никогда не видел, чтобы это использовали раньше
Фалмарри

4
В (по крайней мере) португальских клавиатурах дважды нажмите, ~а затем.
rsilva4
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.