git 遇到很多问题。有一个记录一个。争取早日熟练使用
1.Unable to negotiate with 10.1.15.112 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
解决方法:https://www.cnblogs.com/Zhao01/p/10154824.html
(1)问题原因1:新生成SSH Key(密钥)时,进行git clone或git push时,经常会出现该错误。
解决方法:首先查看自己用户目录下的.ssh目录下是否有三个密钥文件。若只有两个的话,输入yes回车之后,会生成一个known_hosts文件。若是三个的话,请看下面的原因。
(2)问题原因2:github上的项目没有与本地仓库相关联。
解决方法:重新进行git remote即可,若问题未解决,请看原因3。
(3)问题原因3:SSH Key不对。
解决方法:①cat ~/.ssh/id_rsa.pub:查看ssh是否是自己的(若不是,SSH Key的问题,进行②③操作)。
②在git仓库同目录删除.ssh文件夹(隐藏文件夹)。
③重新生成ssh key :SSH-keygen -t rsa -C "117@qq.com"。
④在生成的SSH Key复制到github上,新建一个SSH连接即可解决问题。
我最后确认是本地的key 和 服务器的key 对应不上。服务器的pub key 多了一个回车。
二、git 多账号配置
第一步生成对应的ssh key
第二步设置config 文件 在.ssh 目录下,如果没有创建该文件
config文件内容如下:
Host github.com
HostName github.com
KexAlgorithms +diffie-hellman-group1-sha1
#gitee
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/rsa_gitee
PreferredAuthentications publickey
User xxxxx(这里填写你的userName)
然后就能正常的拉取代码了,会根据origin 后缀的不同自动使用不同的key
(ps: 非常重要,配置完毕config 以后一定要关闭git base ,关闭 config 文件 再进行代码拉取,不然有可能配置不生效。我当时弄了半天后来把所有完全关闭再拉取就好了)