本地git ssh连接远程git仓库时报错的解决方案

1.生成ssh key

在终端输入 命令 ssh-keygen -t rsa -C “xxxx” 回车后会提示你输入密码,不需要理会,一直按回车即可,直到最后提示 “The key’s randomart image is”,即生成成功 注:xxxx为注册git远程仓库时的邮箱。

2.add key

复制刚刚生成的key ,命令为“cat ~/.ssh/id_rsa.pub”然后粘贴到git 目录 ssh keys 下add key,这样就配置完毕了。

此时使用git连接远程仓库如github或gitlab可能会报如下错误
Unable to negotiate with *.*.*.* port **: no matching host key type found. Their offer: ssh-dss fatal: Could not read from remote repository. 这是因为你的系统所装的是OpenSSH 7.0及更高版本。需要额外执行一步操作。

3.重新启用ssh_dss

OpenSSH 7.0及更高版本会禁用ssh-dss(DSA)公钥算法。 所以OpenSSH 7.0及更高版本则需要增加额外操作来重新启用ssh-dss,操作如下:

.ssh目录下增加了config文件,命令如下:$ vim config

在config中需要写入如下内容:

Host [git.XX.XX.com](http://git.xx.xx.com/)
HostKeyAlgorithms +ssh-dss
第一句中的XX.XX大家根据自己的项目中ssh链接查看@后面到‘:’前的一段,格式为

git.XX.XX.com.保存文件,重新提交就好了

  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

ming_rw

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值