Много раз у меня был сеанс SSH, который больше не отвечает (например, когда я теряю интернет-соединение, а затем снова подключаюсь). Ctrl+ C, Ctrl+ D, Ctrl+ Zи миллион нажатий клавиш не имеют никакого эффекта.
Большую часть времени у меня уже есть tmux
или byobu
уже работает, так что я могу просто запустить другой терминал и восстановить соединение. Однако это кажется громоздким. Как я могу отключить SSH от текущего терминала?
Enter
раньше~
. Экранирующий символ работает, когда он является первым символом в строке. А также вы можете использовать~
и позже,?
чтобы получить помощь от клиента SSH.~
затем следует?
полный список поддерживаемых escape-последовательностейOpenssh может быть настроен на отправку живых сообщений клиента или сервера другой стороне. Если ответ не получен, соединение будет разорвано. Со стороны сервера смотрите параметры
ClientAliveInterval
иClientAliveCountMax
config. Со стороны клиента смотрите параметрыServerAliveInterval
иServerAliveCountMax
.TCPKeepAlive
также является опцией, но подделывается, в то время как прежние опции нет, так что они, вероятно, лучше.Если вы установите для них разумные значения, вы, вероятно, никогда не будете снова зависать. Единственным недостатком является то, что ваши ssh-соединения могут оставаться открытыми, если вы предпочитаете, чтобы они были разорваны, из соображений безопасности.
См. Справочную страницу OpenSSH sshd config и справочную страницу OpenSSH ssh config для получения дополнительной информации.
источник
Попробуй Ctrl+Break
источник