Проблема с клонированием репозитория 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