导语:先前通过ldap设置了jenkins登录,因为历史原因已经不知道ldap的密码了。希望通过jenkins里获取一些信息。
找到jenkins的配置文件config.xml中ldap对应的managerPasswordSecret,这个就是ldap的manager密码。
网上找资料发现,jenkins的密码是使用hudson.util.Secret.fromString("明文密码").getEncryptedValue()
加密的,而解密的话就需要使用hudson.util.Secret.fromString("{XXX=}").getPlainText()
进行解密。
println(hudson.util.Secret.fromString("{AQAAABAAAAAgQI+cpXwSulM5zcFv14L5eODWtRDiP1HBCY/zg8H3kTDE4swuJ+j5DiVg251XDjq+}").getPlainText())
# jenkins版本不同,可能使用的代码行也不同,还有可能是下面这种
println(hudson.util.Secret.decrypt("{AQAAABAAAAAgQI+cpXwSulM5zcFv14L5eODWtRDiP1HBCY/zg8H3kTDE4swuJ+j5DiVg251XDjq+}"))
通过jenkins管理界面manage
中的脚本命令行Script Console
进行解密
参考
https://qastack.cn/devops/2191/how-to-decrypt-jenkins-passwords-from-credentials-xml