首页 > 系统相关 >linux-部署harbor的https认证

linux-部署harbor的https认证

时间:2023-05-03 21:23:16浏览次数:59  
标签:harbor root yuanlinux -- https linux docker com

一、安装docker

1.下载docker的rpm包

[[email protected] ~]# ll
-rw-r--r--  1 root root 101239922 Apr 12 15:29 docker-rpm-20_10_24.tar.gz

2.解压并安装软件包

[[email protected] ~]# tar xf docker-rpm-20_10_24.tar.gz
[[email protected] ~]# cd  docker-rpm-20.10/
[[email protected] ~/docker-rpm-20.10]# yum -y localinstall *.rpm

3.添加自动补全功能

[[email protected] ~]# yum -y install bash-completion
[[email protected] ~]# source /usr/share/bash-completion/bash_completion

4.配置镜像加速

[[email protected] ~/docker-rpm-20.10]# mkdir -p /etc/docker
[[email protected] ~/docker-rpm-20.10]# tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["自己的加速地址"]
> }
> EOF
[[email protected] ~/docker-rpm-20.10]# systemctl daemon-reload
[[email protected] ~/docker-rpm-20.10]# systemctl restart docker

5.验证镜像加速是否成功

[[email protected] ~]# docker info | grep "Registry Mirrors" -A 1
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
 Registry Mirrors:
  https://tuv7rqqq.mirror.aliyuncs.com/

6.将docker设置为开机自启动

[[email protected] ~]# systemctl enable --now docker

二、安装docker compose

1.添加epel源

[[email protected] ~]# curl  -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.安装docker-compose

[[email protected] ~]# yum -y install docker-compose

3.查看docker-compose版本

[[email protected] ~]# docker-compose version
docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

三、安装harbor

1.下载harbor软件包

[[email protected] ~]# ll
-rw-r--r--  1 root root 610192663 Apr 12 09:23 harbor-offline-installer-v1.10.10.tgz

2.创建工作目录

[[email protected] ~]# mkdir -pv /data/softwares

3.解压harbor软件包

[[email protected] ~]# tar xf harbor-offline-installer-v1.10.10.tgz -C /data/softwares/

4.创建证书的工作目录

[[email protected] ~]# mkdir -pv /data/softwares/harbor/certs/{ca,server,client}

5.生成自建CA证书

5.1 进入证书目录

[[email protected] ~]# cd /data/softwares/harbor/certs/

5.2 生成CA私钥

[[email protected] /data/softwares/harbor/certs]# openssl genrsa -out ca/ca.key 4096

5.3 生成ca的自签名证书

[[email protected] /data/softwares/harbor/certs]# openssl req -x509 -new -nodes -sha512 -days 3650 \
>  -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yuanlinux.com" \
>  -key ca/ca.key \
>  -out ca/ca.crt

6.生成harbor服务器的证书文件及客户端证书

6.1 生成harbor主机的私钥

[[email protected] /data/softwares/harbor/certs]# openssl genrsa -out server/harbor.yuanlinux.com.key 4096
Generating RSA private key, 4096 bit long modulus

6.2 生成harbor主机的证书申请

[[email protected] /data/softwares/harbor/certs]# openssl req -sha512 -new \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.yuanlinux.com" \
-key server/harbor.yuanlinux.com.key \
-out server/harbor.yuanlinux.com.csr

6.3 生成x509 v3扩展文件

[[email protected] /data/softwares/harbor/certs]# cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=yuanlinux.com
DNS.2=yuanlinux
DNS.3=harbor.yuanlinux.com
EOF

6.4 使用"v3.ext"给harbor主机签发证书

[[email protected] /data/softwares/harbor/certs]# openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca/ca.crt -CAkey ca/ca.key -CAcreateserial \
-in server/harbor.yuanlinux.com.csr \
-out server/harbor.yuanlinux.com.crt

6.5 将crt文件转换为cert客户端证书文件

[[email protected] /data/softwares/harbor/certs]#  openssl x509 -inform PEM -in server/harbor.yuanlinux.com.crt -out server/harbor.yuanlinux.com.cert

6.6 准备docker客户端证书

[[email protected] /data/softwares/harbor/certs]# cp server/harbor.yuanlinux.com.{cert,key} client/
[[email protected] /data/softwares/harbor/certs]# cp ca/ca.crt client/
[[email protected] /data/softwares/harbor/certs]# ll client/
total 12
-rw-r--r-- 1 root root 2029 Apr 12 20:21 ca.crt
-rw-r--r-- 1 root root 2118 Apr 12 20:21 harbor.yuanlinux.com.cert
-rw-r--r-- 1 root root 3243 Apr 12 20:21 harbor.yuanlinux.com.key

6.7 查看所有证书文件结果

[[email protected] /data/softwares/harbor/certs]# ll -R
.:
total 4
drwxr-xr-x 2 root root  48 Apr 12 20:20 ca
drwxr-xr-x 2 root root  83 Apr 12 20:21 client
drwxr-xr-x 2 root root 131 Apr 12 20:21 server
-rw-r--r-- 1 root root 272 Apr 12 20:19 v3.ext

./ca:
total 12
-rw-r--r-- 1 root root 2029 Apr 12 20:18 ca.crt
-rw-r--r-- 1 root root 3243 Apr 12 20:16 ca.key
-rw-r--r-- 1 root root   17 Apr 12 20:20 ca.srl

./client:
total 12
-rw-r--r-- 1 root root 2029 Apr 12 20:21 ca.crt
-rw-r--r-- 1 root root 2118 Apr 12 20:21 harbor.yuanlinux.com.cert
-rw-r--r-- 1 root root 3243 Apr 12 20:21 harbor.yuanlinux.com.key

./server:
total 16
-rw-r--r-- 1 root root 2118 Apr 12 20:21 harbor.yuanlinux.com.cert
-rw-r--r-- 1 root root 2118 Apr 12 20:20 harbor.yuanlinux.com.crt
-rw-r--r-- 1 root root 1716 Apr 12 20:19 harbor.yuanlinux.com.csr
-rw-r--r-- 1 root root 3243 Apr 12 20:18 harbor.yuanlinux.com.key

7.配置harbor服务器使用证书

7.1 切换工作目录

[[email protected] /data/softwares/harbor/certs]# cd ..
[[email protected] /data/softwares/harbor]#

7.2 修改配置文件

[[email protected] /data/softwares/harbor]# cat -n harbor.yml
#修改这几行
     5	hostname: harbor.yuanlinux.com
    17	  certificate: /data/softwares/harbor/certs/server/harbor.yuanlinux.com.crt
    18	  private_key: /data/softwares/harbor/certs/server/harbor.yuanlinux.com.key
    27	harbor_admin_password: 1

8. 安装harbor服务

[[email protected] /data/softwares/harbor]# ./install.sh

9.验证

9.1 Windows验证harbor的https

# C:\Windows\System32\drivers\etc\hosts
10.0.0.250 harbor.yuanlinux.com

https://harbor.yuanlinux.com/

image-20230412203245325

image-20230412203251501

9.2 Linux验证harbor的https

9.2.1 配置地址解析
[[email protected] ~]#  echo 10.0.0.250 harbor.yuanlinux.com >> /etc/hosts
9.2.2 在docker客户端节点创建自签证书域名存放路径
[[email protected] ~]# mkdir -pv /etc/docker/certs.d/harbor.yuanlinux.com
9.2.3 服务端将证书文件拷贝到客户端docker节点,若不执行该操作,则会报错"x509: certificate signed by unknown authority"
[[email protected] ~]# cp /data/softwares/harbor/certs/client/* /etc/docker/certs.d/harbor.yuanlinux.com/
[[email protected] ~]# ll /etc/docker/certs.d/harbor.yuanlinux.com/
total 12
-rw-r--r-- 1 root root 2029 Apr 12 20:35 ca.crt
-rw-r--r-- 1 root root 2118 Apr 12 20:35 harbor.linuxyuan.com.cert
-rw-r--r-- 1 root root 3243 Apr 12 20:35 harbor.linuxyuan.com.key
9.2.4 登录验证
[[email protected] /data/softwares/harbor]# docker login -u admin -p 1 harbor.yuanlinux.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

9.2.5退出登录

[[email protected] ~]# more /root/.docker/config.json
{
	"auths": {
		"harbor.yuanlinux.com": {
			"auth": "YWRtaW46MQ=="
		}
	}
}

#改文件存储harbor密码,要及时退出


[[email protected] ~]# docker logout harbor.yuanlinux.com
Removing login credentials for harbor.yuanlinux.com

[[email protected] ~]# more /root/.docker/config.json
{
	"auths": {}
}

echo YWRtaW46MQ== | base64 -d | more

补充

harbor有时重启机器会有服务起不来,要查看一下
#进入harbor目录
[[email protected] /data/softwares/harbor]# docker-compose ps
#没起来的话,可以先卸载,然后重新加载
[[email protected] /data/softwares/harbor]# docker-compose down -v -t 1  
[[email protected] /data/softwares/harbor]# docker-compose up -d

标签:harbor,root,yuanlinux,--,https,linux,docker,com
From: https://www.cnblogs.com/world-of-yuan/p/17369696.html

相关文章

  • linux进程的管理和调度 --- 调度相关
    进程调度含义进程调度决定了将哪个进程进行执行,以及执行的时间。操作系统进行合理的进程调度,使得资源得到最大化的利用。在单片机上,常常使用的方式是:系统初始化---->while(1){}。(当然,单片机也可以跑类似FreeRTOS,也可以有进程切换)在带操作系统的CPU上跑的逻辑是,允许多个进程(......
  • Linux pkill 命令
    Linuxpkill命令Linuxpkill用于杀死一个进程,与kill不同的是它会杀死指定名字的所有进程,类似于killall命令。kill命令杀死指定进程PID,需要配合ps使用,而pkill直接对进程对名字进行操作,更加方便。语法pkill[选项]name参数说明:name:进程名选项包含如下几......
  • Linux 常用命令全拼
    其实很多时候我们不好记忆或者理解很多命令是因为技术本身来自美国或者英语国家,而单词往往采用了部分单词字母的拼接从而丢失了原本的意义。理解全拼才能真正的见文知义,就像曾经做的很多项目只看名字压根不不知道是个什么东西HWCQ、PI+、ICARE、HIS、HIC等等Linux常用命令全......
  • Linux nohup 命令
    这个命令太重要了,是很多服务启动必须要用到的。nohupcontrol.sh>/dev/null2>&1&Linuxnohup命令nohup英文全称nohangup(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。nohup命令,在默认情况下(非重定向时),会输出一个名叫nohup.out的文件到当前......
  • Linux killall 命令
    这个命令也比较常用,尤其是针对一些进程比较多的程序killallnginxLinuxkillall命令Linuxkillall用于杀死一个进程,与kill不同的是它会杀死指定名字的所有进程。kill命令杀死指定进程PID,需要配合ps使用,而killall直接对进程对名字进行操作,更加方便。语法killall......
  • Linux 基础命令
    线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容及其内容属性信息。cd全拼changedirectory,功能是从当前工作目录切换到指定的工作目录。cp全拼copy,......
  • Linux shell command make All In One
    LinuxshellcommandmakeAllInOneGNUMake$make-vGNUMake4.3为aarch64-unknown-linux-gnu编译Copyright(C)1988-2020FreeSoftwareFoundation,Inc.许可证:GPLv3+:GNU通用公共许可证第3版或更新版本<http://gnu.org/licenses/gpl.html>。本软件是自由软件......
  • linux安装jdk1.8
    为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。环境:centos7.6ssh连接工具:tabby(自从用了这个工具,我再也不用xshell了,这个工具自带文件上传,还有网页版)创建目录mkdir/opt/jdk把jdk的压缩包上传到/opt/jdk目录下......
  • Linux 目录 查看 压缩 编辑 命令
    目录一、文件目录二、查看文件三、压缩与解压四、vim编辑        一、文件目录结构文件类型:/root管理员的家目录/home用户家目录/bin 命令文件目录,存放命令,管理员和用户可以使用/sbin管理员命令......
  • linux学习笔记(29)linux共享目录,NFS,使用autofs实现NFS 自动挂载
     【1】NFS简介(1.1)什么是NFS NFS是NetworkFileSystem的缩写,即网络文件系统。英文NetworkFileSystem(NFS),是基于UDP/IP协议的应用,可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 NFS在文件传送或信息传送过程中依赖于RPC协议。RPC:远程过程调用(R......