jenkins邮件设置,插件email-ext,破解jenkins管理员秘密

Jenkins邮件配置

Manage Jenkins → configure system,找到Jenkins Location进行配置,这里我使用的是QQ邮箱

img

发邮件的地址必须与管理员地址一致,否则发邮件会报错。同时必须在QQ邮箱设置授权码,并且在上面设置密码的地方填入该授权码,不然也是发送不了邮件。

imgimg

点击Test configuration,如果显示为“Email was successfully sent",说明邮箱配置成功

img

到QQ邮箱查看是否收到刚刚测试的邮件

img

收到了,邮件配置成功。点击保存,进入到之前的任务中,点击配置

找到构建后操作,选择E-mail Notification,Recipients这里填入接收邮件的邮箱地址

img img img

勾选保持默认即可,点击保存

现在来测试,故意让构建不成功,看是否能接收邮件。

首先jinkai02上更改目标目录的权限,使之无法写入:

[root@localhost tmp]# rm -rf jenkins_test/*

[root@localhost tmp]# cd /tmp/

[root@localhost tmp]# rm -rf jenkins_test/*

[root@localhost tmp]# chattr +i jenkins_test/

[root@localhost tmp]# ls jenkins_test/

回到浏览器,点击立即构建,查看控制台输出:

img

到QQ邮箱进行查看:

img

邮件收到,邮箱配置成功。

但这样有一点不好,只有构建失败才会发邮件提示,我想让它不管构建成功还是失败都发邮件提示。

使用插件email-ext配置邮件

想让它不管构建成功还是失败都发邮件来提示,就必须要安装一个插件,该插件名字是Email Extension Plugin。如果你是按照上面步骤来的,那么该插件就已经安装。Manage Jenkins → Manage Plugins查看是否安装此插件,没有就安装。

img

Manage Jenkins → Configure System → Extended E-mail Notification,填写SMTP server,勾选Use SMTP Authentication,再填写User Name和Password,Password这里填邮箱授权码,然后SMTP port这里填465

img

往下拉,定位到Default Triggers,选择always,表示不管什么情况都会发邮件提示。之后再清空之前设置的邮箱通知,应用、保存即可

img img

打开之前创建的linuxprobe任务 → 配置,去掉构建后操作,点击增加构建后操作步骤,选择Editable Email Notification,在Project Recipient List那里添加自己的邮箱,然后继续往下拉点击Advanced Setting,定位到Triggers,可以在Add Trigger处增加发邮件的条件

img img img img

现在来测试,看是否能接收邮件。

先在jinkai02上改回目标目录原来的权限:

[root@localhost tmp]# chattr -i jenkins_test/

回到浏览器,点击立即构建,查看控制台输出:

img

到QQ邮箱进行查看:

img

邮件收到,邮箱配置成功。

破解管理员密码

一般初始密码

通常情况下,在初始化完成后的Jenkins环境中,初始密码在/var/lib/jenkins/secrets/initialAdminPassword下直接cat就能看到,然后根据提示登陆即可

正常运行后的密码

要是登录后,还正常运行过的环境,这个文件已经不存在了,这个时候密码在/var/lib/jenkins/users下有个albert(这个是我自己设的用户名)开头的文件,默认可能是

/var/lib/jenkins/users/albert_3614558779671548111/config.xml

cat可以查看到

<passwordHash>#jbcrypt:$2a$10$txFrUEMY4x9YmCtIYEze3O.xr.dZXnDBzyeRU329Gm.rvu6zCTpfm</passwordHash>
一段被hash加密的密码字符串,不过貌似只能看看而已,那如何破解密码呢?如下
密码环境配置在/var/lib/jenkins/config.xml

备份/var/lib/jenkins/config.xml文件,用来后边再恢复配置

[root@jinkai01 jenkins]# cp config.xml config.xml.bak

修改config.xml文件下密码环境配置

vim /var/lib/jenkins/config.xml

#删除如下代码段,对,是删除,不是注释,注释没用的,后边会自动恢复被注释,起不到修改效果

<useSecurity>true</useSecurity>

<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">

<denyAnonymousReadAccess>true</denyAnonymousReadAccess>

</authorizationStrategy>

<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">

<disableSignup>true</disableSignup>

<enableCaptcha>false</enableCaptcha>

</securityRealm>

修改完成后重启服务

[root@jinkai01 jenkins]# systemctl restart jenkins

再次登录Jenkins页面的时候,发现已经不需要登录了,可以直接进入页面,并且是管理员权限

Manage Jenkins ----Configure Global Security(配置全局安全性)

img

安全域选择---Jenkins’ own user database---保存

img

用户列表--选择用户---设置---password(设置新密码)--保存

imgimgimg

恢复config.xml文件,并重启服务

[root@jinkai01 jenkins]# cp config.xml.bak config.xml

cp:是否覆盖"config.xml"? yes

[root@jinkai01 jenkins]# systemctl restart jenkins

重新网页登录jenkins,发现输入用户和密码的登录界面,尝试新密码登录

imgimg

登录成功

猜你喜欢

转载自blog.51cto.com/11451960/2640809
今日推荐