在jenkins中,创建一个新的item,设置git(需要安装git插件)时,从gitlab复制过来的git链接总是显示错误(红字)

部分提示如下:

stderr: Host key verification failed.

在服务器命令行下,使用git clone命令已经可以获得gitlab上项目代码。

gitlab上已经复制过去生成的ssh公钥。正式因为这个,命令行下才能顺利执行git clone成功。

反复测试后问题解决。步骤如下:

1.先切换到jenkins用户下(此时在jenkins安装目录下)

sudo su -s /bin/bash jenkins

2.生成新的ssh秘钥

ssh-keygen -t rsa

3.复制生成的公钥到gitlab

cat .ssh/id_rsa.pub

4.测试

git ls-remote -h git@192.168.0.140:dede/dede.git HEAD

回到jenkins界面,将git链接填入,红字错误消失。

总结:jenkins是使用jenkins用户运行,因此在访问gitlab时,应使用jenkins用户创建的秘钥。之前使用了root生成的秘钥,在命令行执行时,因为是root用户登录环境,git clone正常。而放在jenkins环境中执行git,则因为没有找到jenkins用户的公钥导致无法免密访问。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐