git push Unable to negotiate with 192.168.50.250 port 29418: no matching host key type found. Their offer: ssh-rsa,ssh-dss fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
时间: 2023-10-20 09:11:53 浏览: 206
这个错误通常是由于 Git 客户端和 Git 服务器使用的 SSH 密钥算法不匹配导致的。Git 服务器可能只支持旧版本的 SSH 密钥算法,而 Git 客户端使用的是较新的算法。
为了解决这个问题,你可以尝试在 Git 客户端使用以下命令来禁用较新的算法,使用旧的算法连接 Git 服务器:
```
ssh -oHostKeyAlgorithms=+ssh-dss git@192.168.50.250
```
如果这个命令可以成功连接 Git 服务器,并且你可以 push 你的代码到远程仓库,那么你可以在你的本地 Git 仓库中设置 Git 服务器的 SSH 密钥算法,以便在以后的操作中不需要手动禁用算法。在你的本地 Git 仓库中运行以下命令:
```
ssh-keyscan -t rsa,dsa 192.168.50.250 >> ~/.ssh/known_hosts
```
这个命令会将 Git 服务器的密钥添加到你的本地 `known_hosts` 文件中,以便你以后可以连接 Git 服务器而不需要手动禁用算法。
相关问题
Unable to negotiate with 172.29.10.147 port 29418: no matching host key type fou nd. Their offer: ssh-rsa,ssh-dss
回答: 出现 "Unable to negotiate with 172.29.10.147 port 29418: no matching host key type found. Their offer: ssh-rsa,ssh-dss"的错误提示是因为ssh客户端不支持ssh-rsa算法。为了解决这个问题,您可以修改本地配置,重新使用ssh-rsa算法。具体的方法可以参考引用中提到的网上的教程。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [Unable to negotiate with 47.96.92.201 port 29418: no matching host key type found. git问题解决](https://blog.csdn.net/qq_45530512/article/details/127051071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
Unable to negotiate with 106.52.160.162 port 22: no matching host key type found. Their offer: ssh-rsa
出"Unable to negotiate with 106.52.160.162 port 22: no matching host key type found. Their offer: ssh-rsa"的错误提示是因为Git找不到支持的密钥交换方法。新版Openssh中不再支持SHA1这种hash散列算法,需要手动允许对于SHA1的支持。
解决办法是在生成公钥的.ssh文件夹中,新建一个没有后缀的config文件,并在其中添加以下内容:
Host *
HostkeyAlgorithms ssh-rsa
PubkeyAcceptedKeyTypes ssh-rsa
保存后,再次使用git命令应该就能恢复正常啦。
阅读全文