7

Если я подключаюсь к удаленной машине, а затем теряю подключение к Интернету, сеанс останавливается. Я не могу контролировать -c или иным образом прервать и вернуться к моему локальному xterm или терминалу, но если я подожду несколько минут, это произойдет. Должен быть какой-то способ заставить его прервать удаленный сеанс SSH, когда соединение потеряно. Я на Mac, но я верю, что это происходит на Cygwin или Linux.

2 ответа2

10

Период Тильда должен делать то, что вы хотите (~.). Это должно быть первое, что вводится после нажатия клавиши ввода, поэтому нажмите клавишу ввода, а затем введите его. Вот ручной ввод для 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", если вам больше нравится информационный интерфейс.

2

Что-то удерживает соединение открытым, возможно, из-за пересылки. Вы можете попытаться использовать Ctrl \, чтобы заставить ssh умереть, но в целом вы должны попытаться выяснить, что его закрывает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .