Проблема звучит как ошибка на стороне сервера. Когда клиент отправляет список шифров, сервер openssh, вероятно, ожидает, что сможет прочитать список за один системный вызов.
Если список поддерживаемых шифров длиннее, чем может быть передано в одном пакете, сервер может получить меньше байтов при первом вызове, чем ожидалось. Правильным поведением на сервере будет выполнение другого вызова для получения оставшихся байтов. Но из описания проблемы видно, что сервер вместо этого закрывает соединение, когда он не получил полный список шифров сразу. Когда приходит следующий пакет от клиента, сервер отправит клиенту сброс соединения.
Конфигурирование клиента для использования более короткого списка шифров могло бы обойти эту ошибку. Клиент openssh будет искать список шифров в следующих местах:
- В командной строке, используя -c cipher_spec или -o Ciphers = cipher_spec
- В ~ / .ssh / config, указав Ciphers cipher_spec в соответствующем разделе хоста или перед первым хостом.
- В / etc / ssh / ssh_config используется тот же формат, что и ~ / .ssh / config
- Список по умолчанию, встроенный в клиент во время компиляции.
Два файла конфигурации являются настройками для каждого пользователя и всей системы. Использование, Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
как предложил Эрик, должно работать нормально.
telnet ip.or.name.of.offending.server 22
?