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

110

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

Falmarri
источник

Ответы:

150

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

~.

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

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