如何恢复主密钥
影响版本
5.7.0 -最新
的master.key是一个AES 128位密钥,在Artifactory 5.7中引入。
默认情况下master.key文件是Access在初始启动时自动生成的。
大师的主要用法之一。关键,是成为一个关键的要求建立Artifactory的高可用性集群.没有主人。密钥,您将无法将节点连接到HA集群。
的主人。key还用于加密保存在DB中的所有配置文件(并在HA节点之间同步),以及保存在文件系统($ARTIFACTORY_HOME/etc/ DB)上的密码。属性,例如)。
此外,所有敏感数据由访问也使用主服务器加密。密钥,如用户的加密密码、API密钥等。
万一主人。密钥丢失时,正在使用主服务器的服务。钥匙无法启动。
当前(Artifactory 6.x)使用主服务器的服务。关键是:
——Artifactory
——访问
来自Artifactory版本7。xthis has also been changed and most of the services will use the master.key file such as the UI, Xray and router.
从失去的主人那里恢复过来。Key很棘手,需要连接到数据库。在Artifactory版本6中,这是一个不同的过程。X和7。
7.X复位步骤:
从Artifactory版本7开始,文件夹和文件结构已经改变。
- 数据库密码是由主密钥文件加密的,因此需要手工还原为明文。中修改数据库密码美元ARTIFACTORY_HOME / var / etc / system.yaml文件从加密到纯文本。
- 通过数据库转储备份数据库模式
- 待信息备份保存完成后,删除有问题的条目:
访问表:
Derby、MySql和Oracle数据库不支持blob,因此,您需要运行select,然后逐个删除所有以' JE '开头的条目。
对于其他数据库:
从access_configs中删除类似“JE%”的数据
删除access_users_custom_data中PROP_VALUE为“JE%”的字段;
删除access_master_key_status中的status = 'on';
Artifactory表:
删除master_key_status中status = 'on'的数据;
Derby、MySql和Oracle数据库不支持blob,因此,您需要运行select,然后逐个删除所有以' JE '开头的条目。
对于其他数据库:
从配置文件中删除类似'JE%'的数据
(可选)如果你在旋转(不复位)母盘。钥匙,卸下主锁。键从所有节点。
4.删除以下使用丢失的master.key加密的文件:
#这些将在启动时重新生成
美元JFROG_HOME / var / etc / artifactory /安全/ / access.admin.token访问
美元JFROG_HOME / var / etc /安全/ join.key
5.中删除加密区域配置描述符和binarystore.xml:
-定位美元JFROG_HOME / etc / artifactory / artifactory.config.latest.xml文件
-在文件中搜索“JE”或“AM”字符串,删除以该术语开头的任何条目或密码
例如,<密码>我2 eskjlp37mmgyptshl69wcgeawabuk4w5xmku6kybwedqq4u < /密码>
更改为
-重命名为artifactory.config.import.xml
-定位美元JFROG_HOME / etc / artifactory / binarystore.xml文件
-识别任何以“乙脑”或“AM”开头的术语并删除它们
6.在删除上面的表行之后,重新启动Artifactory实例(在HA中首先是Primary)。
6.X复位步骤:
改变db.properties密码从其加密形式到明文。
运行查询:从access_configs中删除类似“JE%”的数据;
运行查询:删除数据类型为'JE%'或'AM%'的配置;
运行查询:DELETE FROM access_master_key_status WHERE status = 'on';
运行查询:删除access_users_custom_data中PROP_VALUE为“JE%”的字段
可能还有一张桌子master_key_status它包含一行类似于access_master_key_status,也删除该表的内容
*可选*:如果你旋转(不复位)主。钥匙,卸下主锁。键从所有节点。
启动节点。
