SSH не подключается - время ожидания операции истекло

SSH не подключается - время ожидания операции истекло

С сегодняшнего утра я получаю следующее сообщение об ошибке при попытке подключения к моему пульту дистанционного управленияUbuntu 14.04 LTSмашина через sshизMacBook Air Йосемити 10.10.1.

ssh_exchange_identification: read: Operation timed out

При использовании -vvvфлага появляется следующее подробное сообщение

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXX.XXX.XXX [XXX.XXX.XXX.XXX] port 22.
debug1: Connection established.
debug1: identity file /Users/felix/.ssh/id_rsa type -1
debug1: identity file /Users/felix/.ssh/id_rsa-cert type -1
debug1: identity file /Users/felix/.ssh/id_dsa type -1
debug1: identity file /Users/felix/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out

В течение многих месяцев это соединение работало отлично. Я никогда не испытывал никаких проблем. Другие решения, такие как найденныездесьиздесьне помогло.

Есть ли какие-нибудь предложения по решению этой проблемы?

решение1

debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Operation timed out

Согласно вашему отладочному следу, вам удается подключиться к удаленному серверу SSH, и сервер не разрывает соединение, но сервер не отправляет свою строку идентификации программного обеспечения. Это первое, что делают клиент и сервер, и это делается открытым текстом.

Я думаю, что проблема сведется к одному из трех:

  1. Какое-то сетевое устройство между вами и сервером мешает подключению. Например, если удаленный хост находится за маршрутизатором NAT, переадресация порта 22 может быть настроена неправильно, и вы подключаетесь к неправильной службе.

  2. Программа сервера SSH на удаленном хосте может зависать или работать со сбоями. Я видел, как что-то подобное происходило, например, когда хост был сильно перегружен или имел мало виртуальной памяти. Или сервер мог использовать что-то вродеTCP-обертки, и он выполняет DNS-запрос на IP-адрес вашего клиента, разрешение которого занимает много времени.

  3. Удаленный хост настроен необычным образом, а служба, работающая на порту 22, не является SSH-сервером.

Если вы можете добраться до сервера, сосредоточьте поиск неисправностей там. Найдите журналы сервера ssh — они должны быть там, /var/logи посмотрите, зарегистрировал ли он что-нибудь об этих неудачных попытках подключения. Попробуйте запустить ssh на localhost с сервера и посмотрите, работает ли это правильно.

Если у вас есть root-доступ к серверу, вы можете попробовать запустить отладочный экземпляр, чтобы sshdпосмотреть, что он регистрирует при подключении вашего клиента. Остановите обычный sshdсервер и в окне терминала root запустите /path/to/sshd -d. Это запустит копию sshd, которая примет одно подключение и выведет отладочную информацию в окно терминала. Попробуйте воспроизвести проблему, а затем проверьте, что регистрировал сервер.

Если вы не можете перевести обычный сервер ssh в автономный режим, вы можете запустить sshd на другом порту: /path/to/sshd -p 42 -dзапускает копию sshd, прослушивающую порт 42. Укажите тот же номер порта при запуске клиента ssh: ssh -p 42 user@host. Если ваши проблемы вызваны мешающим сетевым устройством, это может вести себя иначе, чем подключения к порту 22.

Связанный контент