Иногда мой ssh-сеанс в терминале зависает. Как я могу выйти из сеанса SSH и восстановить соединение?
109
Введите ~.
(тильда, точка) в начале строки. Другими словами, нажмите Enter, затем ~, затем .. (На некоторых языках может потребоваться нажать Shiftили Altдля ввода ~
символа.)
Вообще говоря, этот ~
символ является escape-символом в сеансе SSH, когда вы вводите его в начале строки. EnterЗатем нажмите, ~?
чтобы увидеть список управляющих команд. Наиболее распространенными являются
~.
разорвать соединение~^Z
(нажмите ~затем Ctrl+ Z), чтобы приостановить соединение и введите команду локально (выполните команду, fg
чтобы вернуться к сеансу SSH)Если вы хотите тильду в начале строки, нажмите ~дважды.
Все, что вам нужно сделать, чтобы выйти из сеанса SSH, это ввести exit
в командной строке.
Попробуйте ввести Shift+ `+.
broken-pipe
но я не буду ждать.~.
вы сможете узнать больше на man-странице SSH (чуть более чем на полпути), и набрав:~?
в активный / подключенный сеанс SSH, опять же, вы можете иметь нажать ввод один раз раньше.Если ваш сеанс завис и подсказка больше не отвечает, вы можете просто уничтожить экземпляр терминала, и все дочерние процессы, связанные с этим экземпляром, одним из которых является сеанс ssh, должны быть исключены вместе с ним.
Если вы действительно хотите быть внимательным, хотя вы можете открыть новый экземпляр Terminal, найдите ssh-сессии в списке процессов и уничтожьте их с помощью командной строки:
Если это не сработает, попробуйте:
Не убивай
ssh-agent
процесс.Или вы можете открыть Activity Monitor и найти там сеансы и нажать на кнопку их уничтожения:
источник
~.
. Смотри выше.~. работает, хотя это выглядит как застревание, останавливает соединение ssh, и вы можете запустить его снова, но на моей клавиатуре я должен нажать Alt + ~, затем пробел, а затем.
источник