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 次 |
| 最近记录: |