给一个用户颁发证书

简介: 【4月更文挑战第30天】

》》》》》魏红斌带你学shell脚本《《《《《


更多shell脚本学习点击个人主页


作为一个资深程序猿,我将带领您从零开始,一步步踏上运维之旅,无论您是否拥有现成的服务器,都将学会如何轻松购买、部署,并通过编写及应用精心设计的Shell脚本,解决实际工作中遇到的问题。这些脚本不仅源自真实的业务场景,经历了反复实践与严格测试,确保了其简洁高效、易于理解且便于使用。更重要的是,我们将全程免费分享,并深度解析背后原理,助您深入理解并灵活运用,每一款脚本均经过真实业务场景的反复打磨与严格测试,秉持着简洁高效、易于理解和使用的理念设计,无偿提供并且提供相关解析过程,让读者能更深入了解相关内容

无服务器的朋友们

让我们先从选购并部署服务器开始。只需简单三步,即可拥有您的专属云服务器:

  1. 访问ECS官网:点击链接直达阿里云ECS网站:ECS选择网址。这是您获取高质量云服务器的第一站。
  2. 选择并购买:在琳琅满目的服务器配置中,挑选符合您需求的那一款,一键下单,完成支付。整个过程犹如在线购物般便捷。
  3. 进入ECS控制台:支付成功后,您将被引导至ECS管理控制台。在这里,您可以全面掌控您的服务器资源,后续的所有运维操作都将在此展开。

已有服务器的朋友们

如果您已拥有ECS实例,那么请直接登录ECS管理控制台在左侧导航栏中,依次选择“实例与镜像” > “实例”,确保您已定位到目标资源所在的资源组和地域。接下来,在实例列表中找到待连接的实例,点击操作列下的“远程连接”,选择“通过Workbench远程连接”并点击“立即登录”。

登录实例

无论是新购还是已有服务器,接下来都需要进行实例登录。这里支持多种认证方式,以最常见的“密码认证”为例:

  • 输入用户名(通常为rootecs-user)。
  • 接着,输入登录密码。如果您忘记了密码,无需担忧,您可以在ECS实例详情页面查询,或者通过“更改密码”功能进行修改。

编写与运行Shell脚本

成功登录后,您将看到一个熟悉的命令行界面——这就是您的运维主战场。现在,键入vim test.sh,我们便进入了文本编辑模式,准备创建第一个Shell脚本。

按下键盘上的i键,进入插入模式,此刻您可以自由地复制粘贴今天要学习的脚本代码,粘贴后按ecs后,按:wq保存脚本,可以用./ test.sh或者sh test.sh进行脚本执行。

今天我们要学习的脚本是(脚本内容直接复制粘贴即可):

#!/bin/bash

CA_SUBJECT="/O=liusenbiao/CN=ca.liusenbiao.cn"

SUBJECT="/C=CN/ST=jiangsu/L=taizhou/O=magedu/CN=www.liusenbiao.cn"

SERIAL=34

EXPIRE=202002

FILE=liusenbiao.org

openssl req -x509 -newkey rsa:2048 -subj $CA_SUBJECT -keyout ca.key -nodes -days 202002 -out ca.crt

openssl req -newkey rsa:2048 -nodes -keyout ${FILE}.key -subj $SUBJECT -out ${FILE}.csr

openssl x509 -req -in ${FILE}.csr -CA ca.crt -CAkey ca.key -set_serial $SERIAL -days $EXPIRE -out ${FILE}.crt

chmod 600 ${FILE}.key ca.key

$COLOR"**************************************生成证书信息**************************************"$END

openssl x509 -in ${CERT_INFO[crtfile${i}]} -noout -subject -dates -serial

echo

done

chmod 600 *.key

echo "证书生成完成"

$COLOR"**************************************生成证书文件如下**************************************"$END

echo "证书存放目录: "$DIR

echo "证书文件列表: "`ls $DIR`

下面是脚本中各命令的详细解释:

  1. 变量定义:
  • CA_SUBJECT: 定义了CA(证书颁发机构)的DN(Distinguished Name),包括组织名(O)、通用名(CN)等信息。这里设置为 "/O=liusenbiao/CN=ca.liusenbiao.cn",表示一个由“liusenbiao”组织所有的,名为“ca.liusenbiao.cn”的证书颁发机构。
  • SUBJECT: 定义了将要申请的证书的DN,包括国家代码(C)、省份(ST)、城市(L)、组织名(O)、通用名(CN)。示例中的DN为一个位于中国江苏泰州,属于“magedu”组织,域名是“www.liusenbiao.cn”的证书。
  • SERIAL: 证书序列号,这里设置为34。
  • EXPIRE: 证书有效期,设定为2020年2月到期。
  • FILE: 用于生成证书文件的基本名称,这里是"liusenbiao.org"。
  1. 生成CA证书:
  2. Bash
1openssl req -x509 -newkey rsa:2048 -subj $CA_SUBJECT -keyout ca.key -nodes -days 202002 -out ca.crt
  1. 这条命令使用req子命令生成一个自签名的X.509 CA证书。它使用2048位的RSA密钥,DN信息来自$CA_SUBJECT,密钥不加密保存到ca.key,证书有效期为202002天(此数值显然超出了实际年份,应调整为合理的天数,例如365天)。
  2. 生成证书请求:
  3. Bash
1openssl req -newkey rsa:2048 -nodes -keyout ${FILE}.key -subj $SUBJECT -out ${FILE}.csr
  1. 此命令为“liusenbiao.org”生成一个新的证书请求(CSR),同样使用2048位RSA密钥,密钥保存在${FILE}.key,证书请求保存在${FILE}.csr,DN信息使用$SUBJECT
  2. 签署证书请求:
  3. Bash
1openssl x509 -req -in ${FILE}.csr -CA ca.crt -CAkey ca.key -set_serial $SERIAL -days $EXPIRE -out ${FILE}.crt
  1. 使用之前生成的CA证书和私钥来签署证书请求,设置序列号为$SERIAL,证书有效期为$EXPIRE天,最终生成的证书文件名为${FILE}.crt
  2. 权限设置:
  3. Bash
1chmod 600 ${FILE}.key ca.key
  1. 为了保证安全,该命令设置了私钥文件的权限为600,这意味着只有文件所有者才能读取和写入这些文件(通常这是存放私钥的标准权限设置)。

综上,这个脚本完成了创建一个自签名的CA证书和基于该CA为特定网站(liusenbiao.org)签发证书的全过程,适用于测试环境或内部使用场景。

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口:新老同学免费试用

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
安全 Java Android开发
DigiCert代码签名证书
DigiCert代码签名证书
289 0
|
4月前
|
Ubuntu 应用服务中间件 网络安全
如何从商业证书颁发机构安装 SSL 证书
如何从商业证书颁发机构安装 SSL 证书
54 0
|
7月前
|
存储 弹性计算 运维
给多个用户颁发证书
【4月更文挑战第30天】
30 1
|
7月前
|
运维 安全 网络安全
Digicert 证书
DigiCert是全球领先的数字证书颁发机构,提供SSL/TLS、代码签名等多种证书服务,确保网络通信安全。其证书以高安全性、广泛兼容性及优质客户服务著称。DigiCert的EV SSL证书能严格验证网站身份,增强用户信任。通过代码签名,保证软件未经篡改。适用于商业网站和电商,提供高级安全保障。在网络安全日益重要的今天,DigiCert证书是值得信赖的选择,为数字化世界保驾护航。
174 0
|
7月前
阿里云认证证书
阿里云认证证书为什么不是自己的名字,怎么解决
523 1
|
安全 网络安全 数据安全/隐私保护
Globalsign证书
Globalsign证书
124 0
|
安全 网络安全 数据安全/隐私保护
什么是Sectigo证书?
什么是Sectigo证书?
398 0
Digicert证书是什么?有哪些类型?
Digicert证书是一种数字证书,用于确保网站和网络通信的安全。这种证书由Digicert公司颁发,可以帮助保护用户的个人信息和数据,防止黑客攻击和网络钓鱼等安全威胁。
 Digicert证书是什么?有哪些类型?
|
安全 数据安全/隐私保护
沃通SMIME电子邮件证书申请指南
沃通S/MIME电子邮件证书是全球信任的基础级(Class 1)电子邮件证书,遵循S/MIME安全电子邮件协议,实现电子邮件签名和加密,具有验证发件邮箱真实性、保护电子邮件内容机密性和完整性等功能,防止电子邮件信息泄露、内容篡改、发件方身份仿冒、钓鱼邮件等邮件安全风险
236 0
|
安全 网络安全
SSL可信证书有哪些?
  在现在这个互联网信息化时代里,网络数据信息的安全备受人们关注。当然,人们也有相应的防治措施,很多公司颁发了SSL证书,提供网友们下载。这些SSL证书是通过公用密钥和私人密钥双层密钥的方式,对网络数据信息进行保护。
5606 0

相关实验场景

更多