Если я подключаюсь к удаленной машине, а затем теряю подключение к Интернету, сеанс останавливается. Я не могу контролировать -c или иным образом прервать и вернуться к моему локальному xterm или терминалу, но если я подожду несколько минут, это произойдет. Должен быть какой-то способ заставить его прервать удаленный сеанс SSH, когда соединение потеряно. Я на Mac, но я верю, что это происходит на Cygwin или Linux.
2 ответа
Период Тильда должен делать то, что вы хотите (~.
). Это должно быть первое, что вводится после нажатия клавиши ввода, поэтому нажмите клавишу ввода, а затем введите его. Вот ручной ввод для ssh:
-e escape_char
Sets the escape character for sessions with a pty (default: ‘~’).
The escape character is only recognized at the beginning of a
line. The escape character followed by a dot (‘.’) closes the
connection; followed by control-Z suspends the connection; and
followed by itself sends the escape character once. Setting the
character to “none” disables any escapes and makes the session
fully transparent.
Ctrl-D также может работать.
Изменить: SSH имеет много встроенных команд escape-символов. Когда активная сессия SSH открыта, вы можете нажать [enter] ~? чтобы увидеть список вариантов. Это все в записи man для ssh. Если вы еще не знаете о мужских записях ... вы откроете для себя мир удивительности! В терминале linux введите "man command", в данном случае "man ssh" без кавычек. В нем много информации. Нажмите "q", чтобы выйти. Вы также можете набрать "info ssh", если вам больше нравится информационный интерфейс.
Что-то удерживает соединение открытым, возможно, из-за пересылки. Вы можете попытаться использовать Ctrl \, чтобы заставить ssh умереть, но в целом вы должны попытаться выяснить, что его закрывает.