Я скомпилировал OpenSSH_6.6p1 на одном из наших серверов. Я могу войти через SSH на обновленный сервер. Но я не могу подключиться к другим серверам под управлением OpenSSH_6.6p1 или OpenSSH_5.8 из этого. При подключении я получаю сообщение об ошибке, как показано ниже.
Read from socket failed: Connection reset by peer
На конечном сервере в журналах я вижу это, как показано ниже.
sshd: fatal: Read from socket failed: Connection reset by peer [preauth]
Я попытался указать cipher_spec [ssh -c aes128-ctr destination-server], как упомянуто здесь, и смог подключиться. Как настроить ssh на использование шифра по умолчанию? Зачем здесь шифр?
telnet ip.or.name.of.offending.server 22
?Ответы:
Проблема звучит как ошибка на стороне сервера. Когда клиент отправляет список шифров, сервер openssh, вероятно, ожидает, что сможет прочитать список за один системный вызов.
Если список поддерживаемых шифров длиннее, чем может быть передано в одном пакете, сервер может получить меньше байтов при первом вызове, чем ожидалось. Правильным поведением на сервере будет выполнение другого вызова для получения оставшихся байтов. Но из описания проблемы видно, что сервер вместо этого закрывает соединение, когда он не получил полный список шифров сразу. Когда приходит следующий пакет от клиента, сервер отправит клиенту сброс соединения.
Конфигурирование клиента для использования более короткого списка шифров могло бы обойти эту ошибку. Клиент openssh будет искать список шифров в следующих местах:
Два файла конфигурации являются настройками для каждого пользователя и всей системы. Использование,
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
как предложил Эрик, должно работать нормально.источник
Вы можете указать шифр в конфигурационном файле ssh (/ etc / ssh / ssh_config или аналогичный, зависит от $ PREFIX и т. Д.). Любая опция, которую вы передаете ssh клиенту из командной строки, может быть установлена в конфигурационном файле ssh (client).
Вот соответствующая строка (просто раскомментируйте):
источник
Мой способ исправить это, надеюсь, это поможет кому-то:
Отредактируйте sshd_config, добавив значение
Отредактируйте ssh_config, раскомментировав значение
источник
Решил эту проблему, изменив указанные ниже разрешения для файлов до 600.
Также изменил разрешение для всех других файлов внутри / etc / ssh / на 644. Все файлы должны принадлежать пользователю root.
Ниже приведен полный набор команд для назначения надлежащих разрешений для всех файлов в каталоге / etc / ssh:
источник
Моя проблема, которая имела те же симптомы, которые вы видите, была связана с усеченными ключами хоста. Попробуйте воссоздать их с помощью:
источник