Проблема с клонированием репозитория git
Я пытаюсь клонировать репозиторий Git и я получаю ошибку
Unable to negotiate with <server>: no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.
я отредактировал ~/.ssh/config
и добавил
Host somehost.example.org
KexAlgorithms +diffie-hellman-group1-sha1"
но все равно я получаю ту же ошибку.
другое решение-использовать команду ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@127.0.0.1 -p 2222
но я получаю отказ в соединении с портом № 22.
Я использую машину windows.
4 ответов
ваша проблема подробно описана здесь:
Если клиент и сервер не могут договориться о взаимном наборе параметров, соединение не будет выполнено.
OpenSSH (7.0 и выше) выдает следующее сообщение об ошибке:Unable to negotiate with 127.0.0.1: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
установка альтернативных ключей ssh
ssh-keygen -t rsa -C <your comment>
теперь добавьте открытый ключ под учетной записью сервера и повторите попытку.
touch ~/.ssh/config
прикрепите мою конфигурацию ssh для людей, которые сталкиваются с той же проблемой
## use kex algorithm ##
Host 10.172.4.66
KexAlgorithms diffie-hellman-group1-sha1
## Avoid Write failed : boken pipe issue ##
ServerAliveInterval 120
TCPKeepAlive no
используйте больший postBuffer, если приходите по другой проблеме
fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed
$ git config --global http.postBuffer 10000000000000000000000000000000
$ git clone ssh://xxx xx
Cloning into 'xx'...
remote: Counting objects: 105491, done.
remote: Compressing objects: 100% (32876/32876), done.
Receiving objects: 100% (105491/105491), 1.74 GiB | 19.55 MiB/s, done.
remote: Total 105491 (delta 67211), reused 104583 (delta 66603)
Resolving deltas: 100% (67211/67211), done.
Checking connectivity... done.
Checking out files: 100% (16545/16545), done.
Host xxxx.yyyy.com
KexAlgorithms +diffie-hellman-group1-sha1
Port portNumber
User userName-yourDomain-com
включить вышеуказанные строки в .конфигурационный файл и добавить .файл config в .каталог ssh, где id_rsa.pub и другие файлы находятся.
Если вы используете windows, и эта ошибка происходит в tortoise Git или Sourcetree, попробуйте создать свои ключи с помощью puttYGen. Или создайте новый ключ из существующего закрытого ключа с помощью puttYGen (используйте опцию загрузки), а затем сохраните этот закрытый ключ с расширением ppk в любой папке. После этого добавьте этот ключ (с расширением ppk) в pageant (google, чтобы узнать, как значок, он должен появиться в правом нижнем углу рядом с часом) щелкните правой кнопкой мыши и добавьте ключ. Убедитесь, что вы настроили черепаха или ваш sourcetree использовать этот ключ ppk. Tortoise: Setting-Network-ssh client (должен быть TortoiseGitPLink.exe, если нет, находится в папке git tortoise git_home\bin) Исходное дерево: Инструменты-Параметры - SSH client Putty / PLink