SSH-соединения разрываются после двух или около того линий

У меня действительно странная проблема. Я использую Ubuntu Server 12.04 с минимальным набором пакетов: базовая система, sshd и IRC-сервер. Я должен позволить кому-то еще настроить сервер для подключения к своей сети IRC. Тем не менее, они, кажется, падают после двух строк ls или cat.

Как ни странно, это происходит только на этом сервере, и я вообще не смог воспроизвести его, используя PuTTY или ssh-клиент. Где я должен искать, чтобы диагностировать это? auth.log показывает нормальное соединение и аутентификацию и не дает никаких подробностей о отбрасывании. fail2ban не имеет нарушений с исходным IP-адресом.

Это виртуальная машина с переадресованным портом (это мостовой режим и нормальное сетевое подключение). Я могу подключиться локально, через локальную сеть и из удаленного местоположения с PuTTY без каких-либо проблем. Другой человек может подключиться, используя ssh в Linux, но сталкивается с разрывом соединения.

Журналы от клиента .

Журналы на стороне сервера не показывают ничего необычного.

4
задан 18 June 2013 в 06:01

4 ответа

У меня была эта точная проблема при соединении со старыми 12,04 серверами от LTS14.04 (ранее обновленный от 12,04)

Я нашел, что проблемой является MTU, связанный как после выполнения

sudo ip li set mtu 1480 dev eth0

Проблема уходит..... и возвращается при задержке ее к 1500

(предполагает, что Вы находитесь на проводном eth0 соединении),

0
ответ дан 18 June 2013 в 06:01

Трудно сказать без лучшего описания проблемы (что означает «отбрасывание» означает «разрыв TCP», «TCP RST» - остановленное соединение »), но одна из возможных интерпретаций вашего описания состоит в том, что может быть проблема с обнаружением MTU пути. ...

Часто задаваемые вопросы по SSH: мой SSH-сеанс зависает частично при входе в систему, когда я генерирую много выходных данных из своей оболочки ...

Обнаружение PMTU (Path MTU)

0
ответ дан 18 June 2013 в 06:01

У меня были странные тайм-ауты ssh, и я решил их, используя следующее:

sudo sysctl -w net.ipv4.tcp_keepalive_time=50 \
 net.ipv4.tcp_keepalive_intvl=10 \
 net.ipv4.tcp_keepalive_probes=5 

Не уверен, поможет ли это, но, возможно, стоит попробовать.

0
ответ дан 18 June 2013 в 06:01

Перед началом убедитесь, что системное время на обоих концах синхронизировано. Это поможет в сравнении позже.

Запустите tcpdump на обоих концах, отфильтруйте по TCP-порту 22. Вы упоминаете, что клиент использует PuTTY, поэтому я предполагаю, что Windows. Вы можете получить wireshark для Windows, и у него есть возможность захвата, которую вы можете использовать вместо tcpdump.

Используя tcpdump, вы сделаете это с чем-то вроде: tcpdump -w/tmp/ssh.pcap -s0 -ieth0 port 22. С помощью wireshark в Windows вы можете настроить захват, отфильтрованный для порта 22 с помощью графического интерфейса пользователя, а затем сохранить захват на диск.

Теперь откройте оба захвата с помощью wireshark. Найти точку отключения. Вы должны быть в состоянии увидеть, с какого конца инициировано отключение соединения (откуда сначала приходит соединение FIN или RST?)

Вы также можете проверить, является ли сторонний хост (например, маршрутизатор или ISP) мешает соединению. Вы узнаете это, если заметите прибывающий пакет, который никогда не был отправлен, например, с другой стороны. Если это происходит, это может быть пакет RST.

0
ответ дан 18 June 2013 в 06:01

Другие вопросы по тегам:

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