lim*_*imc 12 continuous-integration hudson jenkins
我的机构要求我定期更改我的LDAP密码.
过去,我能够执行以下步骤来更改密码: -
/var/lib/jenkins/config.xml
和更改<managerPassword/>
.但是,Jenkins的最新版本不再使用<managerPassword/>
.相反,我看到了<managerPasswordSecret/>
.
我不知道如何生成新的密码,所以我做了以下事情: -
/var/lib/jenkins/config.xml
先备份./var/lib/jenkins/config.xml
并更改<useSecurity/>
为false
./var/lib/jenkins/config.xml
并复制<managerPasswordSecret/>
.<managerPasswordSecret/>
为新值.这令人难以置信.
有没有更简单的方法让我在将来维护我的LDAP密码更改?
非常感谢!
您仍然可以使用<managerPassword>.
使用生成新的编码密码
perl -e'使用MIME :: Base64; print encode_base64("yourNewPassword");'
在config.xml中,找到<hudson>/<securityRealm>/<managerPasswordSecret>.将<managerPasswordSecret>更改为<managerPassword>(包括之前和之后),并将#1之间的编码放在它们之间.保存文件.
对于较新版本的 Jenkins (2.78),上述解决方案都不适用于我。有效的是将 managerPasswordSecret 放在没有任何加密的情况下。一旦我运行 Jenkins,密码就为我加密了。
我试图做同样的事情,这是一个简单的解决方案(从 Jenkins 控制台使用):
import com.trilead.ssh2.crypto.Base64;
import javax.crypto.Cipher;
import jenkins.security.CryptoConfidentialKey;
import hudson.util.Secret;
CryptoConfidentialKey KEY = new CryptoConfidentialKey(Secret.class.getName());
Cipher cipher = KEY.encrypt();
String MAGIC = "::::MAGIC::::";
String VALUE_TO_ENCRYPT = "";
println(new String(Base64.encode(cipher.doFinal((VALUE_TO_ENCRYPT + MAGIC).getBytes("UTF-8")))));
Run Code Online (Sandbox Code Playgroud)
解码更简单:
println(hudson.util.Secret.decrypt(HashFromConfigXmlHere));
归档时间: |
|
查看次数: |
8866 次 |
最近记录: |