大数据权限认证 Kerberos 部署

2024-03-02 21:20

本文主要是介绍大数据权限认证 Kerberos 部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1、什么是 Kerberos
  • 2、Kerberos 术语和原理
    • 2.1、Kerberos 术语
    • 2.1、Kerberos 原理
  • 3、Kerberos 服务部署
    • 3.1、前置条件
    • 3.2、安装依赖
    • 3.3、配置 krb5.conf
    • 3.4、配置 kdc.conf
    • 3.5、配置 kadm5.acl
    • 3.6、安装 KDC 数据库
    • 3.7、启动服务
    • 3.8、创建 Kerberos 管理员
    • 3.9、创建普通租户
    • 3.10、Kerberos 客户端安装
  • 4、Kerberos 用户管理
    • 4.1、KDC 支持两种方式管理
    • 4.2、查询所有用户(list_principals)
    • 4.3、查询用户详情(get_principal)
    • 4.4、新增用户(add_principal USER)
    • 4.5、修改用户(modify_principal)
    • 4.6、生成 keytab(ktadd)
    • 4.7、删除用户(delete_principal)
  • 5、Kerberos 有效期管理
    • 5.1、票据(登录)有效期
    • 5.2、用户有效期

1、什么是 Kerberos

  Kerberos 是一种网络身份验证协议,旨在支持使用密钥加密的客户端/服务器应用程序的强大身份验证。 Kerberos 为网络资源提供最高级别的安全性。
  Kerberos 应用客户端/服务器体系结构并支持用户到服务器的身份验证,而不是主机到主机的身份验证。在此模型中,安全性和身份验证将取决于密钥技术,其中网络上的每个主机都有自己的密钥。

2、Kerberos 术语和原理

2.1、Kerberos 术语

  • KDC(Key Distribute Center): 密钥分发中心,负责存储用户信息,管理发放票据。
  • Realm: Kerberos 所管理的一个领域或范围,称之为一个 Realm。例如:HADOOP.COM。
  • Principal: Kerberos 所管理的一个用户或者一个服务(又称为主体),可以理解为 Kerberos 中保存的一个账号,其格式通常如下:primary/instance@realm ,即账号/实例名@域名,其中 instance可以省略。例如:nn/bigdata2@HADOOP.COM、test@HADOOP.COM。
  • Keytab:Kerberos 中的用户认证,可通过密码或者密钥文件证明身份,keytab指密钥文件,使用 keytab 可以不用输入密码即可登录。例如:kinit test@HADOOP.COM -kt /root/test.keytab。

2.1、Kerberos 原理

  Kerberos 模型基于 Needham-Schroeder 的可信第三方协议,采用DES 加密(也可用其他算法替代),它与网络上的每个实体分别共享一个不同的秘密密钥,知道该秘密密钥就是身份的证明。这里以吃饭为例,简单阐述 Client 与 Kerberos 、TGS 及 Server 之间的关系如下:
认证模型
  Kerberos 有一个所有客户和秘密密钥的数据库,由于 Kerberos 知道每个人的秘密密钥,所以它能产生一个实体证实另一个实体身份的消息。Kerberos 还能产生会话密钥,只供一个客户机和一个服务器(或两个客户机)使用。会话密钥用来加密双方间的通信消息,通信完毕,即销毁会话密钥。

Kerberos 协议如下:

  • 客户从Kerberos 请求一张票据许可票据(TGT,Ticket Granting Ticket)作为票据许可服务(TGS,Ticket-Granting Service),该票据用用户的秘密密钥加密后发送给用户;
  • 为了使用特定的服务器,客户需要从 TGS 中请求一张票据,TGS 将票据发回给客户;
  • 客户将此票据提交给服务器和鉴别器,如果客户的身份没有问题,服务器就会让客户访问该服务。
    认证流程
    详细过程参考:《一文搞懂Kerberos》

3、Kerberos 服务部署

3.1、前置条件

  • 准备好域名,本文使用的域名是 HADOOP.COM;
  • 确保 Kerberos 认证的机器时间同步。

机器角色规划如下:
机器角色

3.2、安装依赖

sudo yum install -y krb5-server krb5-libs krb5-auth-dialog krb5-workstation

3.3、配置 krb5.conf

默认位置:/etc/krb5.conf ,用于客户端配置。

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = HADOOP.COM#default_ccache_name = KEYRING:persistent:%{uid}[realms]HADOOP.COM = {kdc = bigdata3admin_server = bigdata3}[domain_realm]
# .example.com = HADOOP.COM
# example.com = HADOOP.COM

说明:

  • [logging]:服务端 志打印位置。
  • [libdefaults]:连接的默认配置 。
    • default_realm:设置默认领域。多个领域是配置在 [realms] 章节。
    • udp_preference_limit=1:禁止使用udp(可以防止一个 Hadoop 中的错误)
    • ticket_lifetime: 凭证生效的时限,一般为 24 小时。
    • renew_lifetime: 凭证最长可以被延期的时限,一般为 7 天。
    • 去掉 des256 加密支持,因为该加密算法需要 JCE 的额外支持,增加了对环境的依赖。
  • [realms]:配置所有需要访问的 Kerberos 域。
    • kdc:kdc 服务器地址(机器:端口),默认端口 88。
    • admin_server: admin 服务地址(机器:端口),默认端口 749。
    • default_domain: 指定默认的域名。

3.4、配置 kdc.conf

默认位置:/var/kerberos/krb5kdc/kdc.conf,这是 KDC 服务端配置文件,需要开通 88 端口。

[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]HADOOP.COM = {#master_key_type = aes256-ctsmax_renewable_life = 7d 0h 0m 0sacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}

说明:

  • [kdcdefaults] :KDC 默认行为配置,全局生效。
  • [realms]:配置每个域的信息。
    • MYREALM: 域名,建议统一使用大写。
    • acl_file: admin 的用户权限,需要用户自己创建。
    • supported_enctypes:支持的校验方式。
    • admin_keytab:KDC 进行校验的管理员 keytab。

3.5、配置 kadm5.acl

文件位置: /var/kerberos/krb5kdc/kadm5.acl ,用于 ACL(访问控制列表),此处提前配置管理员。

[root@bigdata3 etc]# sudo cat /var/kerberos/krb5kdc/kadm5.acl
*/admin@HADOOP.COM	*

3.6、安装 KDC 数据库

安装命令:

kdb5_util create -r HADOOP.COM -s

注意:我使用的 realname 就是 HADOOP.COM,可以根据需要改成自己的。

  • -r:指定域名,注意和配置文件域名保持一致。
  • -s:指定将数据库的主节点密钥存储在文件中,从而可以在每次启动 KDC 时自动重新生成主节点密钥。
  • -d: 指定数据库名,默认名为 principal。
[root@bigdata3 etc]# sudo kdb5_util create -r MYREALM -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'HADOOP.COM',
master key name 'K/M@HADOOP.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:  # 输入 KDC 数据库密码,重要,admin
Re-enter KDC database master key to verify: #admin

说明:

  • 该命令会在 /var/kerberos/krb5kdc/ 目录下创建 principal 数据库文件。在重装时,可能需要需要删除数据库文件。
  • 对于 KDC 数据库密码,非常重要,请妥善保存。

3.7、启动服务

sudo chkconfig --level 35 krb5kdc on
sudo chkconfig --level 35 kadmin on
sudo service krb5kdc start
sudo service kadmin start

3.8、创建 Kerberos 管理员

可使用 kadmin.local (只允许在本机执行)或 kadmin 工具,管理 KDC 服务。

创建超级管理员的 Principle:root/admin

[root@bigdata3 etc]# sudo kadmin.local -q "addprinc root/admin"
Authenticating as principal root/admin@HADOOP.COM with password.
WARNING: no policy specified for root/admin@HADOOP.COM; defaulting to no policy
Enter password for principal "root/admin@HADOOP.COM": # root
Re-enter password for principal "root/admin@HADOOP.COM": # root
Principal "root/admin@HADOOP.COM" created.

一条命令创建:

sudo echo -e "root\nroot" | kadmin.local -q "addprinc root/admin"

3.9、创建普通租户

1、创建测试用户 test,此时用户只能通过密码方式访问(在生成 keytab 文件后,可通过 keytab 访问,一说生成 keytab 之后密码登录不可用)。

[root@bigdata3 etc]#   echo -e "test\ntest" | sudo kadmin.local -q "addprinc test"
# 注意上面创建了用户 test,密码也是 test
Authenticating as principal root/admin@HADOOP.COM with password.
WARNING: no policy specified for test@HADOOP.COM; defaulting to no policy
Enter password for principal "test@HADOOP.COM":
Re-enter password for principal "test@HADOOP.COM":
Principal "test@HADOOP.COM" created.

2、用户基本操作示例

# 1. 登录
[root@bigdata3 etc]# kinit test
Password for test@HADOOP.COM: # test# 2. 查看登录缓存
[root@bigdata3 etc]# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: test@HADOOP.COMValid starting       Expires              Service principal
2024-03-01T18:40:47  2024-03-02T18:40:47  krbtgt/HADOOP.COM@HADOOP.COMrenew until 2024-03-08T18:40:47, Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96# 3. 更新票据缓存有效期
[root@bigdata3 etc]# kinit -R
[root@bigdata3 etc]# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: test@HADOOP.COMValid starting       Expires              Service principal
2024-03-01T18:41:16  2024-03-02T18:41:16  krbtgt/HADOOP.COM@HADOOP.COMrenew until 2024-03-08T18:40:47, Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96 ### 可以看到 Expires 时间已经更新,注意 renew until 是相对不变的# 4. 销毁登录缓存
[root@bigdata3 etc]# kdestroy
[root@bigdata3 etc]# klist
klist: No credentials cache found (filename: /tmp/krb5cc_0)

3、查看安装版本

[root@bigdata3 etc]# klist -V
Kerberos 5 version 1.15.1

3.10、Kerberos 客户端安装

1、依赖安装:

$ sudo yum install krb5-devel krb5-workstation  -y

2、配置 krb5.conf
可从 KDC 机器获取 krb5.conf 文件

4、Kerberos 用户管理

4.1、KDC 支持两种方式管理

  • KDC 本机使用 kadmin.local 管理,需要登录 KDC,无需输入 Kerberos 管理员密码;
  • 远程或在 KDC本机使用 kadmin管理,需要 Kerberos 管理员密码。

方式1:在 KDC 主机登录:

[root@bigdata3 etc]# kadmin.local
Authenticating as principal root/admin@HADOOP.COM with password.
kadmin.local:  # 可执行命令

方式 2:使用 kadmin 管理用户

[root@bigdata2 yum.repos.d]# kadmin -p root/admin
Authenticating as principal root/admin with password.
Password for root/admin@HADOOP.COM: # root

如果没有 root 用户可以在 KDC 主机增加一个:

sudo echo -e "root\nroot" | kadmin.local -q "addprinc root/admin" # 用户名密码为 root/root

4.2、查询所有用户(list_principals)

kadmin.local:  list_principals
HTTP/bigdata1@HADOOP.COM
HTTP/bigdata2@HADOOP.COM
K/M@HADOOP.COM
admin/admin@HADOOP.COM
dn/bigdata1@HADOOP.COM
dn/bigdata2@HADOOP.COM
dn/bigdata3@HADOOP.COM
jn/bigdata1@HADOOP.COM
jn/bigdata2@HADOOP.COM
jn/bigdata3@HADOOP.COM
kadmin/admin@HADOOP.COM
kadmin/bigdata3@HADOOP.COM
kadmin/changepw@HADOOP.COM
kiprop/bigdata3@HADOOP.COM
krbtgt/HADOOP.COM@HADOOP.COM
nn/bigdata1@HADOOP.COM
nn/bigdata2@HADOOP.COM
root/admin@HADOOP.COM
test@HADOOP.COM

4.3、查询用户详情(get_principal)

kadmin.local:  get_principal test
Principal: test@HADOOP.COM
Expiration date: [never]
Last password change: 五 3月 01 15:12:13 CST 2024
Password expiration date: [never]
Maximum ticket life: 1 day 00:00:00
Maximum renewable life: 7 days 00:00:00
Last modified: 五 3月 01 15:12:13 CST 2024 (root/admin@HADOOP.COM)
Last successful authentication: [never]
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 8
Key: vno 1, aes256-cts-hmac-sha1-96
Key: vno 1, aes128-cts-hmac-sha1-96
Key: vno 1, des3-cbc-sha1
Key: vno 1, arcfour-hmac
Key: vno 1, camellia256-cts-cmac
Key: vno 1, camellia128-cts-cmac
Key: vno 1, des-hmac-sha1
Key: vno 1, des-cbc-md5
MKey: vno 1
Attributes:
Policy: [none]

4.4、新增用户(add_principal USER)

1、使用默认配置

kadmin.local:  add_principal Leo825 # 新增 Leo825 租户
WARNING: no policy specified for Leo825@HADOOP.COM; defaulting to no policy
Enter password for principal "Leo825@HADOOP.COM":  # 输入密码 Leo825
Re-enter password for principal "Leo825@HADOOP.COM":  # 再次输入密码 Leo825
Principal "Leo825@HADOOP.COM" created.
kadmin.local:  quit # 退出# 测试
[root@bigdata3 etc]# kinit Leo825
Password for Leo825@HADOOP.COM: # 输入密码 Leo825
[root@bigdata3 etc]# klist
Ticket cache: FILE:/tmp/krb5cc_0 # 登录成功
Default principal: Leo825@HADOOP.COMValid starting       Expires              Service principal
2024-03-01T19:05:24  2024-03-02T19:05:24  krbtgt/HADOOP.COM@HADOOP.COMrenew until 2024-03-08T19:05:24

2、指定有效期

kadmin.local:  addprinc
usage: add_principal [options] principaloptions are:[-randkey|-nokey] [-x db_princ_args]* [-expire expdate] [-pwexpire pwexpdate] [-maxlife maxtixlife][-kvno kvno] [-policy policy] [-clearpolicy][-pw password] [-maxrenewlife maxrenewlife][-e keysaltlist][{+|-}attribute]# 用户有效期 -expire
addprinc -expire "2020-9-9 20:00" test5
# 用户有效期 + 用户密码有效期 -pwexpire
addprinc -expire "2020-9-9 20:00" -pwexpire "2020-9-10 20:00" test6
# 用户有效期 + 用户密码有效期 + 票据生命有效期
modify_principal -expire "6/6/2009 12:01am EST" -pwexpire "6/7/2009 12:01am EST" -maxlife "12:00" user1

4.5、修改用户(modify_principal)

usage: modify_principal [options] principaloptions are:[-x db_princ_args]* [-expire expdate] [-pwexpire pwexpdate] [-maxlife maxtixlife][-kvno kvno] [-policy policy] [-clearpolicy][-maxrenewlife maxrenewlife] [-unlock] [{+|-}attribute]attributes are:allow_postdated allow_forwardable allow_tgs_req allow_renewableallow_proxiable allow_dup_skey allow_tix requires_preauthrequires_hwauth needchange allow_svr password_changing_serviceok_as_delegate ok_to_auth_as_delegate no_auth_data_requiredlockdown_keyswhere,[-x db_princ_args]* - any number of database specific arguments.Look at each database documentation for supported arguments

4.6、生成 keytab(ktadd)

[root@bigdata3 etc]# kadmin.local
Authenticating as principal Leo825/admin@HADOOP.COM with password.
kadmin.local:  ktadd -k /tmp/Leo825.keytab Leo825
Entry for principal Leo825 with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type camellia256-cts-cmac added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type camellia128-cts-cmac added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:/tmp/Leo825.keytab.
Entry for principal Leo825 with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:/tmp/Leo825.keytab.

通过 keytab 方式认证:

kinit Leo825@HADOOP.COM -kt /tmp/Leo825.keytab

4.7、删除用户(delete_principal)

kadmin.local:  delete_principal Leo825
Are you sure you want to delete the principal "Leo825@HADOOP.COM"? (yes/no): yes
Principal "Leo825@HADOOP.COM" deleted.
Make sure that you have removed this principal from all ACLs before reusing.

5、Kerberos 有效期管理

Kerberos 可以支持两个层面的有效期管理,包括:登录(票据)有效期(ticket lifetime)和 用户有效期(user lifetime)

5.1、票据(登录)有效期

  登录有效期用于控制用户在客户端登录前后的生命周期管理,包括登录、销毁和刷新等操作(可类比 web 系统登录,可以登入、登出和刷新 session)。登录有效期受客户端配置、KDC 端配置和 Principal 属性控制。

使用 klist 可以看到当前登录有效期信息:

[root@bigdata3 etc]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: test@HADOOP.COMValid starting       Expires              Service principal
2024-03-01T19:22:49  2024-03-02T19:22:49  krbtgt/HADOOP.COM@HADOOP.COMrenew until 2024-03-08T19:22:49

重点参数:

  • Valid starting:Ticket 认证开始时间
  • Expires:Ticket 认证过期时间
  • renew until:Ticket 认证的刷新截止时间

当然Ticket 认证过期时间不是随机的,而是有客户端和 kdc 端重点参数 Ticket 生命有效期(ticket_lifetime)规定的。同样的,最大刷新时间也不是无限制可刷新,而是有参数 Ticket 最大可刷新有效期(renew_lifetime) 控制的:

  • ticket lifetime:Ticket 生命有效期
  • renew_lifetime:Ticket 最大可刷新有效期

例如,客户端配置:

[libdefaults]dns_lookup_realm = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = HADOOP.COM#default_ccache_name = KEYRING:persistent:%{uid}

5.2、用户有效期

  用户有效期用于控制 Kerberos 用户可登录系统的生命周期。用户有效期只有使用 kadmin 管理员工具配置。可配置对Kerberos 用户的用户有效期和用户密码有效期。

# 72小时后
kadmin.local: modify_principal -expire "72 hours" # 用户有效期-pwexpire "6/7/2020 12:01am EST" principal_name # 用户密码有效期#以上为行为方便,实际需要保持在同一行执行

参数:

  • expire:用户有效期
  • pwexpire:用户密码有效期

参数一览

这篇关于大数据权限认证 Kerberos 部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767459

相关文章

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

如何在Java中处理JSON数据?

如何在Java中处理JSON数据? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Java中如何处理JSON数据。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在现代应用程序中被广泛使用。Java通过多种库和API提供了处理JSON的能力,我们将深入了解其用法和最佳

两个基因相关性CPTAC蛋白组数据

目录 蛋白数据下载 ①蛋白数据下载 1,TCGA-选择泛癌数据  2,TCGA-TCPA 3,CPTAC(非TCGA) ②蛋白相关性分析 1,数据整理 2,蛋白相关性分析 PCAS在线分析 蛋白数据下载 CPTAC蛋白组学数据库介绍及数据下载分析 – 王进的个人网站 (jingege.wang) ①蛋白数据下载 可以下载泛癌蛋白数据:UCSC Xena (xena

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把