Назад | Перейти на главную страницу

SSH-соединение - через некоторое время я ничего не могу набрать

Это продолжает происходить на каком-либо сервере, к которому я подключен. Я печатаю:

ssh user@server

Вхожу в систему, пару минут все работает. Но через некоторое время, возможно, когда я переключаюсь на другие программы (браузер, ftp-клиент и т. Д.), Когда я пытаюсь ввести что-либо обратно в терминал, курсор перестает мигать, пока я печатаю, но на самом деле ничего не набирается. Я не могу выполнить ни одну команду, и все, что я могу сделать, это закрыть окно терминала, снова открыть его и снова подключиться.

Если это важно, я запускаю Ubuntu 12.04 на своем локальном компьютере.

Между вашим клиентом и сервером установлен NAT-маршрутизатор или аналогичный межсетевой экран с отслеживанием состояния. Когда вы открыли сеанс TCP, брандмауэр запомнил, что TCP-соединение было создано между вашим клиентским портом и портом сервера. Пока брандмауэр помнит соединение, он будет продолжать передавать пакеты между клиентом и сервером.

Сеанс «прерывается», потому что межсетевой экран забывает о соединении и перестает передавать пакеты. Брандмауэр может забыть о соединении, потому что у него есть тайм-аут для незанятых соединений. Или он мог забыть, потому что у него ограниченный объем памяти и было создано слишком много новых соединений, чтобы он мог их все запомнить.

ssh имеет некоторые варианты чтобы обойти это, отправляя периодические пакеты "keep-alive", когда соединение простаивает. Посмотрите на TCPKeepAlive, ServerAliveInterval, и ServerAliveCountMax параметры.

Как бы то ни было, вместо закрытия окна терминала вы можете прервать сеанс ssh набрав Войти ~ . последовательно.