前言
大家好,我是小郭,最近更新了mac的系统之后,因为无法连接到远程仓库,导致代码拉不下来了,在这里给大家提供一下我的解决方法,希望能给大家一些帮助。
问题
Update failed Unable to negotiate with ip port 62113: no matching host key type found. Their offer: ssh-rsa,ssh-dss Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
一切操作都很正常,本来想拉一下最新的代码,在这之前我们已经在远程仓库的settings中添加SSH key
与本机的密钥相匹配,才能建立远程连接,那么本机工程项目才能够拥有权限了。
错误信息提示:提示没有匹配到host key,他们的提供:ssh-rsa,ssh-dss不能读取远程的仓库
解决方案
- 看到no matching host key type found的信息,我就想是不是SSH Keys出问题
我又生成了一个新的key
使用本机Git Bash 命令行工具生成SSH key,使用命令:ssh-keygen -t rsa -C "xxx.@qqcom"
ssh-keygen -t rsa -C "xxx.@qqcom"
自动生成.ssh目录(id_rsa私钥、id_rsa.pub公钥),用于存放命令生成的密钥对
查看命令生成的SSH密钥,使用命令:cat ~/.ssh/id_rsa.pub
发现依旧没有解决问题
cat ~/.ssh/id_rsa.pub**
- 根据 Their offer: ssh-rsa,ssh-dss Could not read from remote repository. 提示的信息
在配置文件中加入了 ssh-rsa,ssh-dss的选项
新建~/.ssh/config
文件
cd ~/.ssh/ vi config
文件内容如下
Host * KexAlgorithms +diffie-hellman-group1-sha1 HostkeyAlgorithms +ssh-dss,ssh-rsa PubkeyAcceptedKeyTypes +ssh-dss,ssh-rsa
再次拉取代码,发现依旧解决问题了
总结
今天主要是处理在工作中遇到,git与远程仓库无法建立连接的问题,通过修改配置文件加入了缺失了ssh-rsa,ssh-dss来解决这个问题。