Jenkins中存储的加密密钥在哪里?

Fad*_*adi 17 migration encryption credentials jenkins

我正在尝试将凭据从一个Jenkins迁移到另一个但是用户名/密码在$ {JENKINS_HOME} /credentials.xml中进行哈希处理

我找到了这个答案,但问题是它没有解释为了成功迁移凭据,有人会找到加密密钥的位置.

任何帮助是极大的赞赏!

编辑:更多信息..我的$ {JENKINS_HOME}是在一个单独的卷上,我分离并重新连接到新的VM,它仍然无法与我一起工作.

Ale*_*x O 24

我发现这个分析很有帮助.简而言之:

Jenkins使用master.key来加密密钥hudson.util.Secret.然后,此密钥用于加密credentials.xml中的密码.

当我需要使用一些默认密码引导新的Jenkins实例时,我使用包含的模板目录树

  • secrets/hudson.util.Secret
  • secrets/master.key

这很好用.


小智 6

关于 JENKINS 迁移,我最近遇到了这种情况,经过几次测试后,我的解决方法对我有用。

这是我所做的:

  1. 我将文件和文件夹从 Source Jenkins 移动到目标:

    • $JENKINS_HOME/secret.key
    • $JENKINS_HOME/秘密
    • $JENKINS-HOME/用户
    • $JENKINS_HOME/credentials.xml
  2. 请注意:这些文件不需要移动:

    • $JENKINS_HOME/identity.key.enc
    • $JENKINS_HOME/secrets/org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY

否则你会在启动 Jenkins 后看到以下错误:

java.lang.AssertionError: InstanceIdentity is missing its singleton
Run Code Online (Sandbox Code Playgroud)
  1. Jenkins 会自动生成这两个文件。一旦开始,你应该很好。