Jenkins解决Host key verification failed

报错原因

a.jenkins普通用户无法执行某些系统命令;
b.没有为jenkins用户生成过密钥对,也没有将他的公钥拷到目标服务器上.

解决办法:

  1. 在安装jenkins后,系统生成了jenkins这个普通用户,但是在/etc/passwd中,他的shell是/bin/false,所以他不能登录系统,也没有家目录;
    首先我们修改他的登录权限,将/bin/false改为/bin/bash,切换到jenkins用户,su - jenkins,他的终端显示为-bash-4.2$
jenkins:x:997:995:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
  1. 生成jenkins用户密钥对
[root@bogon .ssh]# su - jenkins
-bash-4.2$ ssh-keygen -t rsa
回车
# 把公钥传输到目标服务器上
-bash-4.2$ ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub root@192.168.75.12

  1. 使用sudo提升普通用户权限
    用viduso去修改文件,命令和命令之间要用逗号,最后用visudo -c检查语法是否出错.
visudo
root    ALL=(ALL)       ALL  # 原有的
jenkins ALL=(ALL)       NOPASSWD:/usr/bin/ssh,/usr/bin/rsync # 新增的

最后就能够在jenkins中使用command命令执行了

posted @ 2021-03-24 14:15  哈喽哈喽111111  阅读(277)  评论(0编辑  收藏  举报