Jenkins Pipeline执行shell脚本远程连接主机时 Host key verification failed

27 篇文章 1 订阅
24 篇文章 0 订阅

                      --昨夜西风凋碧树,独上高楼,望尽天涯路

  • 错误描述

当Jenkins Pipeline通过执行shell脚本,远程连接服务器发布项目的时候出现校验失败:

Jenkins已经配置了免密登陆远程服务器,以及在Jenkins 宿主机中通过root用户执行脚本是可以进行免密登陆远程主机的

配置免密登陆 戳 :Here

  • 原因

Why?root用户登录Jenkins宿主机可以执行脚本,通过Jenkins提示校验失败。

经过排查以及分析,发现Jenkins进行持续集成和持续发布的时候是通过Jenkins用户来进行这些步骤的,由于免密登陆是通过root用户配置的,所以对Jenkins用户是不生效的。下面我们给Jenkins用户配置免密登陆:

由于Jenkins用户默认是无法登陆的,所以首先通过如下命令:

sudo vim /etc/passwd

 修改Jenkins中的/bin/false为/bin/bash:

这时执行su - jenkins 发现可以切换用户,但是命令提示符的用户名显示的是 -bash-4.1$。

执行 vim ~/.bash_profile 修改环境变量,新加代码:

export PS1='[\u@\h \W]\$'

加载修改完的bash_profile:

source ~/.bash_profile

之后通过su jenkins切换到jenkins用户,正常。

下面通过jenkins用户设置免密登陆(和root一样):戳 Here

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值