Задать вопрос
Bandicoot
@Bandicoot
Вась-программист

Почему зависает соединение с сервером по ssh?

Подключаюсь с терминала ubuntu по ssh (по ключу) к удаленному серверу, расположенному на AWS. Соединение проходит нормально, но буквально через минуту наблюдается интересный эффект - консоль перестает реагировать на ввод с клавиатуры. Курсор продолжает мигать, а ввести ничего не получается при всем желании. Приходится закрывать вкладку терминала и пытаться подключиться заново.

Пробовал подключаться с опцией ServerAliveInterval - нет эффекта. Как можно решить проблему?
Некоторое время назад настраивал подключение по этой статье: https://habr.com/ru/company/intersystems/blog/155565/
Проблема на время ушла, но сейчас вернулась с теми же настройками.
  • Вопрос задан
  • 1511 просмотров
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@strmaks
Попробуйте прописать у себя в конфигурации ssh клиента ~/.ssh/config опцию:
$ cat ~/.ssh/config
...
Host *
    ...
    ServerAliveInterval 10

Файл ~/.ssh/config должен иметь права 600 (chmod 600 ~/.ssh/config)
Секция Host * должна быть всегда в конце файла конфигурации

Проверить работоспособность и уточнить причину разрыва соединения можно подключившись к серверу ssh клиентом с флагом -vvv (включает отладочный режим 3его уровня)
$ ssh -vvv user@hostname
много строк с установлением соединения и инициализацией сессии
debug2: shell request accepted on channel 0
...
       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@hostname ~]$ debug3: send packet: type 80
debug3: receive packet: type 82

появление при "простое" соединения сообщений:
debug3: send packet: type 80
debug3: receive packet: type 82
Говорит о том что keepalive работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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