Используя "KexAlgorithms Диффи-Хеллмана-группу group1-SHA1 для" не разрешить "не соответствие ключевой обменный метод найден" ошибка

есть много вопросов о следующей ошибке, но все они имеют одно и то же решение, которое не имело никакого эффекта:

$ git push
Unable to negotiate with 192.168.XXX.XXX: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

есть статья о openssh.com это не помогло. Особенно это было предложено:

... в ~/.файл ssh / config:

Host somehost.example.org
KexAlgorithms +diffie-hellman-group1-sha1

Я сделал именно это. Я предполагаю, что ~ разрешает %userprofile% на windows. Мой файл в C:UsersMY_USERNAME.sshconfig:

## use kex algorithm ##
Host 192.168.XXX.XXX
KexAlgorithms diffie-hellman-group1-sha1

результат что ничего не изменилось. Существует также предложение использовать ssh -o но я еще не нашел ответа, который потрудился бы описать, как именно вы это делаете. Я попробовал:

$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

мне нужно подключиться к этому репозиторию GIT. Я нахожусь на окнах. Репозиторий использует Gerrit. Я также использую SourceTree и it не имеет проблем с нажатием в репозиторий. Таким образом, репозиторий работает, но git или openSSH в моем bash сломан.

что я сделал неправильно, что это решение не сработало для меня?

2 ответов


разрешено с помощью этой команды, которую я случайно нашел в некотором потоке комментариев:

export GIT_SSH_COMMAND='ssh -o KexAlgorithms=+diffie-hellman-group1-sha1'

должен вызываться каждый раз, когда вы открываете Git Bash. Да, ГИТ-это ад.


Я решил аналогичную проблему в Windows 10, обновив мою версию Open SSH до последней (7.5p1-1), а затем убедитесь, что C:Program Files\OpenSSH\bin была первой записью в системном пути, поэтому она использовала этот ssh.exe, а не какие-либо другие.