Что Поврежденный передает по каналу сообщение, среднее на сессии SSH?

Существует также "философское" различие, где в пакетах Debian можно задать вопросы и этим, заблокировать процесс установки. Плохая сторона этого - то, что некоторые пакеты заблокируют Ваши обновления, пока Вы не ответите. Хорошая сторона этого, также поскольку философское различие, на Debian основывал системы, когда пакет установлен, это настроено (не всегда, как Вы хотели бы), и выполнение. Не в основанных на Redhat системах, где необходимо создавать/копировать из/usr/share/doc /* конфигурационный файл значения по умолчанию/шаблона.

105
14.09.2010, 12:04
8 ответов

Возможно, что Ваш сервер закрывает соединения, которые неактивны слишком долго. Можно обновить любой клиент (ServerAliveInterval) или Ваш сервер (ClientAliveInterval)

 ServerAliveInterval
         Sets a timeout interval in seconds after which if no data has
         been received from the server, ssh(1) will send a message through
         the encrypted channel to request a response from the server.  The
         default is 0, indicating that these messages will not be sent to
         the server.  This option applies to protocol version 2 only.

 ClientAliveInterval
         Sets a timeout interval in seconds after which if no data has
         been received from the client, sshd(8) will send a message
         through the encrypted channel to request a response from the
         client.  The default is 0, indicating that these messages will
         not be sent to the client.  This option applies to protocol
         version 2 only.

Обновить Ваш сервер (и перезапустить Ваш sshd)

echo "ClientAliveInterval 60" | sudo tee -a /etc/ssh/sshd_config

Или клиентский:

echo "ServerAliveInterval 60" >> ~/.ssh/config 
89
27.01.2020, 19:29
  • 1
    NB, что иногда "*AliveInterval" не является достаточным количеством stackoverflow.com/questions/10665267 / Примечание –  rogerdpack 18.02.2015, 18:33
  • 2
    Существует нет ~/.ssh/config на моем Mac я должен создать его там, или это, где-то в другом месте? –  AGamePlayer 06.09.2015, 06:40
  • 3
    @AwQiruiGuo Да, необходимо создать каталог (~/.ssh) сначала. Так mkdir -p ~/.ssh; chmod 700 ~/.ssh; touch ~/.ssh/config –  Gert 07.09.2015, 09:43

Это обычно означает, что Ваша сеть (TCP) соединение была сброшена. Например, Ваш интернет-провайдер воссоединил Вас или что-то вроде этого.

2
27.01.2020, 19:29

Другая причина для "Поврежденного сообщения Канала" состоит в том, что другая машина пытается, используют тот же IP в качестве Вашего хоста.

Простой способ протестировать, если кто-то еще использует тот IP:

  1. Выключите свой хост
  2. проверьте с помощью ping-запросов тот же IP, чтобы видеть, использует ли другая машина тот IP

Для обнаружения, какие машины находятся в сети можно использовать этот заголовок вопроса о Unix & Linux: Как найти то, что другие машины подключены к локальной сети.

0
27.01.2020, 19:29

Альтернативным решением было бы использование mosh - мобильной оболочки . В отличие от ssh, он соединяется через UDP и поддерживает роуминг. Вы можете начать сессию дома, приостановить работу ноутбука, взять его с собой на работу / друзей / везде, где есть интернет, отложить ноутбук и продолжать работать, как будто ничего не случилось. Это особенно полезно, если вы находитесь в паршивом интернет-соединении: Он показывает мгновенную обратную связь, если ваши нажатия клавиш не доходят до сервера и постоянно пытаются восстановить соединение.

Установка и настройка проста: Теперь он включен во все текущие дистрибутивы Linux (плюс несколько не-Linux) и координирует инициализацию сессии и аутентификацию через предыдущее соединение ssh. Поэтому, если вы можете подключиться через ssh user@server, вы, скорее всего, сможете связаться с mosh, просто позвонив mosh user@server, если пакеты mosh установлены на обоих концах.

Основной причиной сбоев соединения является то, что для работы mosh необходимо связаться с сервером через UDP-порт (диапазон по умолчанию: 60000-61000). Поэтому, если сервер находится за брандмауэром, вам в основном не повезет, если вы сами не сможете пробить в нем дырки (последствия для безопасности).

6
27.01.2020, 19:29

Если вы хотите иметь более длительный период соединения, то в клиенте добавьте:

echo 'ServerAliveInterval 30' | sudo tee -a ~/.ssh/config
echo 'ServerAliveCountMax 1200' | sudo tee -a ~/.ssh/config

ServerAliveCountMax по умолчанию установлено значение 3. Поэтому, как только ServerAliveInterval отправит 3 маленьких пакета информации на ваш сервер, он автоматически выйдет из системы. Установка в 1200 означает, что этот процесс должен произойти как минимум 1200 раз. Короче говоря, вы должны быть подключены как минимум 30*1200 секунд (10 часов).

3
27.01.2020, 19:29

У меня была та же проблема, но она не такая, как ожидалось. Если вы обнаружите, что в той же сети другой сервер пытается получить тот же IP-адрес, вы столкнетесь с той же проблемой. Чтобы решить эту проблему, вам необходимо проверить, есть ли другие серверы, использующие тот же IP-адрес. Это можно сделать с помощью команды arp .

Я использую Debian, поэтому вот пример команд, которые я использую, чтобы определить, действительно ли другой сервер использует тот же IP-адрес.

apt-get install arp-scan
arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Вы заметите два набора MAC-адресов, использующих один и тот же IP-адрес. Избегайте конфликтов, устанавливая один на другой IP-адрес.

1
27.01.2020, 19:29

Я безуспешно возился с переменными ServerAliveInterval и ClientAliveInterval.

Наконец, после сравнения с машиной, у которой не было проблемы с сломанной трубой, я нашел директиву внизу/etc/ssh/sshd_config:

KeepAlive yes

Помещение этого в конец моего проблемного сервера /etc/ssh/sshd_configпомогло.

Проверено для Ubuntu 20.04.1 LTS, Ubuntu 16.04.7 LTS.

2
06.01.2021, 22:38

Для меня это произошло потому, что я использовал ChrootDirectory, который требует, чтобы весь заданный путь принадлежал root (, чего не было для меня ). Изменение разрешений для пути и перезапуск sshd устранили проблему.

1
02.02.2021, 10:58

Теги

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