Ubuntu22上访问腾讯git服务报错“no matching host key type found”¶
问题描述¶
最近我把系统升级到了Ubuntu22,然后像往常一样配置好ssh的key,执行git clone git@git.code.tencent.com:xxx/yyy.git
,从腾讯的git服务器拉代码。结果git clone
命令报错,内容如下:
Cloning into '***'...
Unable to negotiate with *** port 22: no matching host key type found. Their offer: ssh-rsa
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
原因分析¶
SSH有多种RSA类型,以前最常用的就是ssh-rsa
,属于旧的类型,新版的有rsa-sha2-256
、rsa-sha2-512
。
Ubuntu升级后,自带的新版git认为旧版的ssh-rsa
不再安全,默认不会支持这种RSA类型。
解决方案¶
编辑~/.ssh/config
,添加如下内容,告诉git可以对腾讯的git服务器做特殊处理,支持ssh-rsa
:
Host git.code.tencent.com
User git
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa
之后,git clone
就成功了。
本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/git_no_matching_host_key_type_found
发布日期:2024-01-25 联系作者