Linux

Исправлено: не найден подходящий метод обмена ключами

Когда вы пытаетесь использовать ssh для связи с удаленным сервером, вы можете получить ошибку, которая гласит, что не найден подходящий метод обмена ключами, прежде чем подсказать вам, какой алгоритм шифрования вы хотите использовать. Вы не сможете подключиться к удаленному серверу при возникновении ошибки. Этот процесс может быть очень неприятным, но ошибка настолько распространена, что вы’ часто встретите Unix-специалистов, рассказывающих о том, как они с ней сталкиваются, и дающих один и тот же совет, чтобы выбраться из леса.

Следующие методы исправления ошибки были протестированы на всех устройствах, на которых работает ssh, но вы’ скорее всего, обнаружите эту проблему на системах Unix и Linux. Вы должны быть в состоянии использовать тот же процесс для исправления ошибки, если вы используете ssh в Windows или что-то экзотическое, но вы можете обнаружить, что опции переключателя немного отличаются.

Метод 1: Повторное подключение к серверу и регенерация ключей

Прежде чем делать что-либо еще, убедитесь, что вы можете воспроизвести ошибку. Иногда это сообщение об ошибке возникает из-за того, что какая-то служба на удаленном сервере не работает в данный момент, и за прошедшее время она могла быть исправлена. Пока мы запускали ssh на виртуальной машине, которая позволяла подключаться к фиктивному адресу сервера, установленному в одобренном документацией примере.org, но вы’захотите подставить вместо него реальный сетевой адрес.

Если вы все еще получаете это сообщение, попробуйте регенерировать ключи с помощью ssh-keygen -A из командной строки. Это обновит кэш, который приложение ssh использует для подключения к удаленному серверу. В противном случае вы можете попробовать перезапустить ssh, выполнив команду service ssh restart и даст ему несколько мгновений.

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

Если такой вариант не подходит, и вы осознаете опасность использования скомпрометированного алгоритма, есть способ обойти это сообщение об ошибке на стороне клиента.

Метод 2: Включение устаревших опций в OpenSSH

Посмотрите, что написано в сообщении об ошибке после слов Their offer:, чтобы понять, какой алгоритм предпочитает удаленный сервер. Хотя большинство систем должны использовать openssh7, который уже отключил устаревшую технологию diffie-hellman-group1-sha1, вам скажут использовать sha1, если они все еще застряли на openssh6 или чем-то подобном.

Запустите ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 testhost@example.org с фактическим сетевым хостом или IP-адресом удаленного сервера, чтобы исправить эту проблему на стороне клиента. Если это устранит проблему, значит, сервер искал более старый протокол на основе sha1 для подключения. Это старое решение на основе sha1 было отключено по уважительной причине, но вы можете обойти его, используя редакторы nano или vim для открытия папки ~/.ssh/config файл и добавьте эти строки:

Пример хоста.org

KexAlgorithms +diffie-hellman-group1-sha1

Имейте в виду, что вам нужно убедиться в наличии знака плюс, поскольку он означает, что ssh будет добавлять, а не заменять более безопасные протоколы по умолчанию. Когда сервер обновит пакеты, вы’будете использовать более безопасные протоколы в большинстве случаев.

Если вы получили ошибку, в которой упоминался протокол ssh-dss, а не версия sha1, то вместо этого можно попробовать выполнить эту команду, за которой следует имя вашего хоста: ssh -oHostKeyAlgorithms=+ssh-dss, Если она сработает, то вам’ нужно будет отредактировать файл ~/.снова откройте файл ssh/config. После строки Host добавьте вкладку и следующее:

HostKeyAlgorithms +ssh-dss

Помните, что, как и система sha1, ключ ssh-dss был устаревшим из-за чрезвычайно рациональных проблем безопасности, связанных с ним. Использование этого способа может внести уязвимости в ваше соединение, поэтому его следует рассматривать только как временное решение, если вообще возможно. Убедитесь, что сервер обновлен как можно скорее.

Добавить комментарий