harbor密码丢失,忘记Harbor密码?

Posted 键客李大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了harbor密码丢失,忘记Harbor密码?相关的知识,希望对你有一定的参考价值。

harbor密码丢失,忘记Harbor密码?_docker

大家好!我是李大白!

本篇文章主要分享Harbor镜像仓库在使用过程中,忘记密码的处理方法!

本篇文章收录于《harbor大白话(企业级)》专栏,更多Harbor的知识可到我主页查看。


一、忘记密码的场景

忘记Harbor的密码?

一个是超级管理员的密码忘记了;另一种是普通用户的密码忘记了;处理方式都是重新配置用户的密码。

找回密码?对于忘记密码,很多人首先想到的就是找回密码,但是Harbor目前是不支持找回密码这个功能的。Harbor的数据库中存储的用户的密码都是使用sha256进行加密的,很难对其解析出来。

只能重新设置用户的密码了。



二、普通用户忘记密码的处理方式

普通用户如果忘记密码,可以联系Harbor的admin用户来帮忙重置密码,admin操作如下:

【系统管理】——>【用户管理】——>【用户】——>【操作】——>【重置密码】

harbor密码丢失,忘记Harbor密码?_kubernetes_02

然后在填写框填写该用户新的密码,点击【确定】即可完成该用户密码的重置。

harbor密码丢失,忘记Harbor密码?_harbor_03


三、admin密码忘记的处理方式

如果超级管理员(admin)的密码忘记了,就无法通过刚才的方式来重新设置用户的密码了。详细的操作如下:


3.1 查看Harbor数据库组件

进入到Harbor服务器主机,查找数据库组件的信息,然后进入到数据库组件的容器中:

[root@Over harbor]# docker-compose ps |  grep db
harbor-db /docker-entrypoint.sh 96 13 Up (healthy)
[root@Over harbor]# docker exec -it harbor-db /bin/bash
postgres [ / ]$ # 出现这表示已经成功进去容器里面了

harbor密码丢失,忘记Harbor密码?_docker_04

3.2 进入到数据库

Harbor的数据库组件是使用PostgreSQL数据库,操作命令一样的。

postgres [ / ]$ psql -U postgres
psql (13.3)
Type "help" for help.

harbor密码丢失,忘记Harbor密码?_忘记密码_05

3.3 进入registry数据库

postgres=# \\c registry
You are now connected to database "registry" as user "postgres".


3.4 查询用户信息

harbor_user用户表中查看用户的信息

registry=# select user_id,username,password,creation_time,update_time,password_version  from harbor_user;
user_id | username | password | creation_time | update_time | password_version
---------+-----------+----------------------------------+----------------------------+----------------------------+------------------
2 | anonymous | | 2021-11-05 07:45:36.052565 | 2021-11-05 07:45:36.176624 | sha1
1 | admin | 8a6e00d7401c1338f2fcfaeb67f4a477 | 2021-11-05 07:45:36.052565 | 2021-11-05 07:45:36.296631 | sha256
3 | lidabai | 4442491133b4c292313224d6757a103d | 2022-04-04 03:05:44.883262 | 2022-04-04 03:05:44.883263 | sha256
(3 rows)


3.5 重置admin账号密码

更新表harbor_user中的数据来重置admin密码。

registry=# update harbor_user  set salt=,password= where  user_id = 1;
UPDATE 1

harbor密码丢失,忘记Harbor密码?_kubernetes_06

再次查看表中用户的信息,可以发现admin用户的password信息已变化。

registry=#  select user_id,username,password,creation_time,update_time,password_version  from harbor_user;

harbor密码丢失,忘记Harbor密码?_harbor_07


3.6 退出数据库和容器

执行完3.5操作后,admin的密码就已经重置完成了。然后就可以使用admin的初始密码Harbor12345去登录Harbor UI界面了,本处是退出数据库和容器的操作了。

registry=# \\q                # 退出数据库
postgres [ / ]$ exit # 退出容器
exit

四、重启Harbor

[root@Over harbor]# docker-compose down
[root@Over harbor]# docker-compose up -d
[root@Over harbor]# docker-compose ps


推荐阅读:

Helm部署Harbor,实现高可用的镜像仓库(超详细分享)~后附踩坑记录 

Prometheus监控Harbor实战(全网首发)

企业内网如何搭建安全的Harbor服务?(超详细)

Harbor镜像仓库漏洞扫描_如何检测你的镜像是否安全?

Harbor一键部署——初学者如何快速了解它?

k8s节点如何从Harbor中拉取镜像的?镜像拉取凭证的配置 

以上是关于harbor密码丢失,忘记Harbor密码?的主要内容,如果未能解决你的问题,请参考以下文章

Harbor密码重置 密码修改 admin密码重置

Harbor部署流程

harbor的加密机制与后台修改登录密码

docker推送镜像到harbor

担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。

harbor实践之初识harbor