關於以下錯誤有很多問題,但它們都有相同的解決方案,但沒有任何影響:使用「KexAlgorithms diffie-hellman-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.
有一個article on openssh.com沒有幫助。特別是這個建議:
...在的〜/ .ssh/config文件:
Host somehost.example.org KexAlgorithms +diffie-hellman-group1-sha1
我確實做到了。我假設~
在Windows上解析爲%userprofile%
。我的文件在C:\Users\MY_USERNAME\.ssh\config
:
## 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,並且在推送到存儲庫中沒有問題。所以這個倉庫可以工作,但是我的bash中的git或openSSH被破壞了。
我做錯了什麼,這種解決方案不適合我?
嘗試使用「-vv」標誌運行ssh。它會打印它讀取的配置文件的名稱,並會打印密鑰交換的詳細信息。 – Kenster