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

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

ssh user@server

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

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

5
задан 9 July 2014 в 17:43
2 ответа

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

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

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

.
7
ответ дан 3 December 2019 в 01:24

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

0
ответ дан 3 December 2019 в 01:24

Теги

Похожие вопросы