解决执行"go build"时报"Host key verification failed."的错误
go版本 1.16+,项目存在引用私有库的情况,在执行"go build"时,总是报如下错误:
go: xx.xxx.com/xxx/xxx@v0.1.0: reading xx.xxx.com/xxx/xxx/go.mod at revision v0.1.0: git ls-remote -q origin in /Users/xxx/go/pkg/mod/cache/vcs/xxxxx: exit status 128:
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
google该错误,网上可以找到很多回答是说 known_host的指纹问题,但是单纯使用 ssh -T xx.xxx.com,并没有解决该问题。
通过 go build -x 可以看到
/Users/xxx/go/pkg/mod/cache/vcs/xxxxx for git3 ssh://git@abc.xxx.com:8080/xxx/xxx.git
其实最后会到 abc.xxx.com:8080 拉取,所以我们应该解决的是添加 abc.xxx.com 的指纹
git clone ssh://git@abc.xxx.com:8080/xxx/xxx.git
Cloning into 'xxx'...
The authenticity of host '[abc.xxx.com]:8080 ([10.1.1.100]:8080)' can't be established.
RSA key fingerprint is SHA256:xxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
回答 yes 后,known_host中就会出现 abc.xxx.com:8080 的指纹,再执行 go build 即可
|