在Jenkins中配置Ansible报错Failed to connect to the host via ssh: Host key verification failed

根本原因: 由于设置而远程ssh秘钥是root用户设置的,对于jenkins用户无效

解决方法-第一步

[root@gitlab ~]# cat /etc/sysconfig/jenkins
# jenkins文件中设置的默认用户就是jenkins
JENKINS_USER="jenkins"

[root@gitlab ~]# tail -n2 /etc/passwd
# 可以看到:jenkins天生登录的都是一个错误shell  /bin/false
gitlab-prometheus:x:980:972::/var/opt/gitlab/prometheus:/bin/sh
jenkins:x:979:971:Jenkins Automation Server:/var/lib/jenkins:/bin/false
# 想让jenkins正确登陆 就要对他进行修改 
[root@gitlab ~]# vim /etc/passwd
# 把jenkins的登陆选项设置成/bin/bash
jenkins:x:997:995:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

解决方法-第二步:生成jenkins用户的SSH秘钥连接

# 切换到jenkins用户
[root@gitlab ~]# su jenkins
 # 生成秘钥
bash-4.2$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
。。。。。。。
The key's randomart image is:
+---[RSA 2048]----+
|    ..   . ..o+==|
|   .  . . ..++o=o|
|  E o  .  ..oo+.o|
|   + .   . o.. +.|
|  . o   S o o +.o|
|   o .   . . + +.|
| .. =       + + o|
|o .= .     .   +.|
| ++..          ..|
+----[SHA256]-----+

bash-4.2$ ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub 用户名@IP
发布了44 篇原创文章 · 获赞 12 · 访问量 8361

猜你喜欢

转载自blog.csdn.net/GongMeiyan/article/details/104046497
今日推荐