严千屹 2024-04-23 15:25 采纳率: 50%
浏览 366

harbor首次安装提示用户名或者密码不正确?

角色主机名ip系统资源最低要求
Harbor1
nginx
Keepalived1
harbor1192.168.48.106OpenEuler22.03LTSCPU:4核
内存:8G
硬盘:40G
Harbor2
nginx
Keepalived2
harbor2192.168.48.107OpenEuler22.03LTSCPU:4核
内存:8G
硬盘:40G
postgresql
Redis
NFS共享
zujian192.168.48.108OpenEuler22.03LTSCPU:4核
内存:8G
硬盘:40G
高可用ip192.168.48.100
请各位能者帮我看看啥问题。

以上是我的harbor集群,我在安装前将harbor.yml里的harbor密码改成123456,首次安装harbor,执行install.sh后,在页面提示我说用户名或密码不对,后来,我在psql去试一下改了admin的密码都不行。

以下是网上的方法:(仍然不行)

update harbor_user set salt='', password='' where username='admin';
重新启动Harbor私有镜像仓库后,密码就会自动重置为之前安装时配置的Harbor12345
\q  
exit

哪怕是我重新安装harbor,yml里的密码不改,直接安装,还是显示我密码错误。

包括网上说的浏览器的cookie的问题,要清除,也不行,换浏览器也不行。

重启docker,重启仓库也不行

以下是我的harbor.yml

hostname: 192.168.48.106  #harbor1
http:
  port: 8081
  
#https:       #先注释https协议,后面再实现
 # port: 443
 # certificate: /your/certificate/path
 # private_key: /your/private/key/path

## 启用外部代理,启用后hostname将不再使用
external_url: 192.168.48.100:80 

#harbor页面密码
harbor_admin_password: Harbor12345


#配置NFS共享存储
data_volume: /data/harbor_data
_version: 2.9.0
#配置数据库
external_database:
  harbor:
    host: 192.168.48.108  # 数据库主机地址
    port: 5432              # 数据库端口
    db_name: registry    # 数据库名称
    username: postgres        # 连接该数据库的用户名
    password: 123456    # 连接数据库的密码
    ssl_mode: disable
    max_idle_conns: 2
    max_open_conns: 0
notary_server:
  host: 192.168.48.108
  port: 5432
  db_name: notary_server
  username: postgres
  password: 123456
  ssl_mode: disable
notary_signer:
  host: 192.168.48.108
  port: 5432
  db_name: notary_signer
  username: postgres
  password: 123456
  ssl_mode: disable 
#配置redis
external_redis:
  host: 192.168.48.108:6379 #redis服务IP地址和端口号
  password: 123456   #连接外部redis服务的密码
  registry_db_index: 1  
  jobservice_db_index: 2 #job服务的数据库索引
  chartmuseum_db_index: 3  #chartmuseum插件的Redis索引
  trivy_db_index: 5   #Trivy扫描器的数据索引
  idle_timeout_seconds: 30  #超时时间

#启用metrics数据采集插件
metric:
  enabled: false
  port: 9090
  path: /metrics

trivy:
  ignore_unfixed: false
  skip_update: false
  skip_java_db_update: false
  offline_scan: false
  security_check: vuln
  insecure: false
jobservice:
  max_job_workers: 10
  job_loggers:
    - STD_OUTPUT
    - FILE
  logger_sweeper_duration: 1 #days
notification:
  webhook_job_max_retry: 3
  webhook_job_http_client_timeout: 3 #seconds
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /var/log/harbor
proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - trivy
upload_purging:
  enabled: true
  age: 168h
  interval: 24h
  dryrun: false
cache:
  enabled: false
  expire_hours: 24

  • 写回答

5条回答 默认 最新

  • 阿里嘎多学长 2024-04-23 15:26
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    问题概括

    这个问题的目的是解决在首次安装Harbor时,尽管已在配置文件中设置了密码,但登录时仍提示用户名或密码不正确的问题。

    问题出现原因

    1. 配置文件密码未生效:可能在安装过程中,配置文件中的密码没有被正确应用。
    2. 数据库密码不一致:在配置文件中修改了数据库密码,但数据库中可能未更新。
    3. 浏览器缓存问题:浏览器缓存可能导致登录信息错误。
    4. 安装脚本问题:执行安装脚本时可能出现了错误,导致密码未被正确设置。

    问题解决方案

    1. 检查配置文件:确保harbor.yml文件中的harbor_admin_password字段已被正确设置。
    2. 数据库密码同步:确认数据库中的密码与harbor.yml文件中的密码一致。
    3. 清除浏览器缓存:尝试清除浏览器缓存或使用隐私模式重新登录。
    4. 重新运行安装脚本:重新执行安装脚本,确保所有步骤正确无误。

    提供代码

    以下是对数据库中用户密码进行更新的SQL命令示例,该命令将更新harbor_user表中的admin用户的密码:

    UPDATE harbor_user SET password = crypt('新密码', gen_salt('bf', 8)) WHERE username = 'admin';
    

    请将新密码替换为实际想要设置的密码。

    示例代码运行方式

    1. 连接到PostgreSQL数据库。
    2. 执行上述SQL命令。

    示例代码预期运行结果

    如果命令执行成功,admin用户的密码将被更新为新的密码。之后,你应该能够使用新的密码登录Harbor。

    额外步骤

    • 确认安装脚本install.sh没有报错。
    • 确认Harbor服务已正确启动。
    • 如果问题依旧存在,尝试查看Harbor的日志文件,以获取更多错误信息。

    注意

    在执行任何数据库操作之前,请确保你有数据库的备份,以防止数据丢失。同时,更改密码后,确保记录下新密码,以便登录使用。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月23日