如何解决401启动错误

Disha Meswania
2023-01-22 11:07

相关版本:这个信息与…有关Artifactory 5.4版本。X及以上

Artifactory附带一个接入安全服务其功能不断发展。Artifactory使用一组凭据来使用此服务。偶尔,该系统会遇到问题,特别是在升级不正确地应用了遗留身份验证凭据。如果发生这种情况,Artifactory将无法启动。

HA安装节点关闭后将无法正常启动。如果你遇到以下情况错误在你的artifactory.log文件,这意味着Artifactory与它的捆绑Access服务器的身份验证有问题:

2017-12-06 00:16:35,244 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:99) -应用程序无法初始化:HTTP响应状态401:{"errors":[{"code":"UNAUTHORIZED","detail":"Bad credentials","message":"HTTP 401 UNAUTHORIZED"}]}
java.lang.reflect.InvocationTargetException:零
[…]
原因:java.lang.RuntimeException:使用引导凭证生成服务管理令牌失败。

决议

要解决这个问题,您需要重置您在数据库中的访问凭证(这个过程称为引导请注意有一个更有效的解决方案Artifactory 5.8,请仅在您的版本中使用相关说明。

恢复Artifactory 7中的Access Admin凭据。X:

这些步骤与前面的6非常相似。X步,路径已更新,以反映新的7。X安装目录。

1.创建一个“引导”。“Creds”文件在主节点的美元JFROG_HOME / etc /访问文件夹(通常/var/opt/jfrog/artifactory / etc /访问/)

access-admin@ * =密码

2.将Linux权限更新为600,并由正确的Linux用户拥有:

Chown artifactory:artifactory bootstrap.creds

Chmod 600 bootstrap.creds

3.重启Artifactory

恢复Artifactory的Admin访问权限5.8.X - 6。X:
1.(可选)备份数据库当前配置
2.创建一个“bootstrap.creds的文件美元/ etc / bootstrap.creds ARTIFACTORY_HOME /访问包含:

“access-admin@ < IP_ADDRESS > =密码”

3.改变权限:

Chmod 600 bootstrap.creds
Chown artifactory:artifactory bootstrap.creds#Only if rest of directory is owned by “artifactory”

4.重启Artifactory

注意:如果添加< IP_ADDRESS >bootstrap.creds返回一个403错误你可以试试127.0.0.1代替。

恢复管理员访问凭证Artifactory 5.5。X - 5.7.x:
1.(可选)备份数据库当前配置
2.创建一个“引导”。节点的“Creds”文件美元/ etc / bootstrap.creds ARTIFACTORY_HOME /访问包含:

“admin@ < IP_ADDRESS > =密码”

3.改变权限:

Chmod 600 bootstrap.creds
Chown artifactory:artifactory bootstrap.creds#Only if rest of directory is owned by “artifactory”

4.编辑或创建美元ARTIFACTORY_HOME / etc /安全/ /键/ access.creds访问文件,其中包括:

“管理=密码”
请注意:在一些版本中有一个错误,实际上需要手动删除访问。在引导之前的信用将工作。

5.在你的远程数据库中,你需要从access_users表中删除admin用户:

Select * from access_users where username='admin';//首先在表中查找用户
Delete from access_users where username='admin'

6.重启Artifactory

7.X注意:“基本”API访问不再工作

自从安全更新在Artifactory 7.12, Access API端点不再接受基本的“Access -admin:password”身份验证。相反,您需要通过Artifactory UI生成一个Admin Token。此说明适用于需要使用Access -admin帐户使用Access REST API的用户。

Admin ->身份和访问->访问令牌

用户添加图片

然后使用令牌对/access进行REST API调用:

curl -H "授权:持有人eyJ[…令牌…]A" http://localhost:8081/access/api/v1/system/ping

好吧