Harbor无法登陆,报错……unauthorized: authentication required

2024-5-19 / 0 评论 / 133 阅读

无法在节点服务器上登陆harbor,故障报错如下:
Harbor无法登陆,报错……unauthorized: authentication required
奇怪的是在浏览器上是正常登陆,经过询问得知,harbor服务器变更过IP,由此根据提示大体可知原因,安装时的做的证书跟现在的IP对不上,导致无法完成认证授权,解决办法大体有两个:一个是把IP修改为原有IP,第二个就是删除旧证书,重新生成现在IP的证书即可。
方案一、
1、修改harbor服务器IP,如将现在192.168.40.168修改为原IP192.168.181,重启网络
2、修改节点服务器docker配置文件的ip,将insecure-registries后的IP,修改为旧IP
路径为 /etc/docker/daemon.json
Harbor无法登陆,报错……unauthorized: authentication required
3、重新加载docker配置文件
4,重新登陆,成功登陆
Harbor无法登陆,报错……unauthorized: authentication required

方案二:删除原有的证书,重新配置证书。

为Harbor自签发证书
[root@192 ~]# hostnamectl set-hostname harbor && bash
[root@harbor ~]# mkdir /data/ssl -p
[root@harbor ~]# cd /data/ssl/

生成ca证书:
openssl genrsa -out ca.key 3072

生成一个3072位的key,也就是私钥

openssl req -new -x509 -days 3650 -key ca.key -out ca.pem

生成一个数字证书ca.pem,3650表示证书的有效时间是3年,按箭头提示填写即可,没有箭头标注的为空:

生成域名的证书:
openssl genrsa -out harbor.key 3072

生成一个3072位的key,也就是私钥

openssl req -new -key harbor.key -out harbor.csr

生成一个证书请求,一会签发证书时需要的,标箭头的按提示填写,没有箭头标注的为空:

签发证书:
openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650
显示如下,说明证书签发好了:

如果是之前登陆过harbor会在 ~/.docker/config.json这个文件保存之前的信息,需要变更为新的IP,或者直接删除,当再次登陆成功里会自动生成。
查看当前密钥:cat ~/.docker/config.json

如果是报错如下:
Error response from daemon: Get "https://192.168.40.168/v2/": tls: failed to verify certificate: x509: cannot validate certificate for 192.168.40.168 because it doesn't contain any IP SANs
需要 排查docker的daemon.json文件,正常需要添加harbor的镜像地址:如下图
Harbor无法登陆,报错……unauthorized: authentication required
包括这段: "insecure-registries":["192.168.40.168"],
修改保存后,需要重新加载,并重启docker.
[root@ctdnode2 ~]# systemctl daemon-reload
[root@ctdnode2 ~]# systemctl restart docker

Harbor无法登陆,报错……unauthorized: authentication required

评论一下?

OωO
取消