1、创建私有CA并进行证书申请。

配置文件存放路径 /etc/pki/tls/openssl.cnf

[ CA_default ]

dir		= /etc/pki/CA		# Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs. certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file

创建CA所需要的文件

#生成证书索引数据库文件
touch /etc/pki/CA/index.txt
#指定第一个颁发证书的序列号
echo 01 > /etc/pki/CA/serial

生成CA私钥

cd /etc/pki/CA/
(umask 066; openssl genrsa -out private/cakey.pem 2048)

生成CA自签名证书

# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem

[root@localhost CA]# openssl x509 -in cacert.pem -noout -text
将证书文件的base64编码转换为一个易读的格式查看证书文件

将证书文件cacert.pem传至windows桌面,修改文件名为cacert.pem.crt,双击可以看到下面显示

[root@localhost CA]# sz cacert.pem

用户生成私钥和证书申请

生成私钥

[root@localhost data]# mkdir app1
[root@localhost app1]# (umask 066; openssl genrsa -out /data/app1/app1.key 2048)
Generating RSA private key, 2048 bit long modulus
....+++
................................................................................................................................................+++
e is 65537 (0x10001)

生成证书申请文件

[root@localhost app1]# openssl req -new -key /data/app1/app1.key -out  /data/app1/app1.csr

CA颁发证书

[root@localhost app1]# openssl ca -in /data/app1/app1.csr -out  /etc/pki/CA/certs/app1.crt -days 1000

验证指定编号对应证书的有效性

[root@localhost app1]# openssl ca -status 01
Using configuration from /etc/pki/tls/openssl.cnf
01=Valid (V)

导出CA证书

至此CA颁发证书的整个过程已经完成

2、总结ssh常用参数、用法

常见参数:

  • -p port #远程服务器监听的端口
  • -b #指定连接的源IP
  • -v #调试模式
  • -C #压缩方式
  • -X #支持x11转发
  • -t #强制伪tty分配,如:ssh -t remoteserver1 ssh -t remoteserver2 ssh remoteserver3

用法:

ssh命令是ssh客户端,允许实现对远程系统经验证地加密安全访问。ssh客户端配置文件是:/etc/ssh/ssh_config

ssh命令配合的常见选项:

-p port:远程服务器监听的端口

ssh 192.168.42.200 -p 2222

-b 指定连接的源IP

ssh 192.168.42.200 -p 2222 -b 192.168.42.5

-v 调试模式

ssh 192.168.42.200 -p 2222 -v

-C 压缩方式

-X 支持x11转发

支持将远程linux主机上的图形工具在当前设备使用

-t 强制伪tty分配,如:ssh -t remoteserver1 ssh -t remoteserver2   ssh  remoteserver3

ssh -t 192.168.42.201 ssh -t 192.168.42.202 ssh 192.168.42.200

-o option   如:-o StrictHostKeyChecking=no

-i <file> 指定私钥文件路径,实现基于key验证,默认使用文件: ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519,~/.ssh/id_rsa等

3、总结sshd服务常用参数。

服务器端的配置文件: /etc/ssh/sshd_config

常用参数:

Port                                                 #端口号

ListenAddress ipLoginGraceTime 2m                   #宽限期

PermitRootLogin yes                                  #默认ubuntu不允许root远程ssh登录

StrictModes yes                                     #检查.ssh/文件的所有者,权限等

MaxAuthTries   6     

MaxSessions  10                                       #同一个连接最大会话

PubkeyAuthentication yes                              #基于key验证

PermitEmptyPasswords no                               #空密码连接

PasswordAuthentication yes                             #基于用户名和密码连接

GatewayPorts no

ClientAliveInterval 10                                 #单位:秒

ClientAliveCountMax 3                                  #默认3

UseDNS yes                                            #提高速度可改为no

GSSAPIAuthentication yes                              #提高速度可改为no

MaxStartups                                          #未认证连接最大值,默认值10

Banner /path/file

#以下设置可以限制可登录用户:

AllowUsers user1 user2 user3

DenyUsers

AllowGroups

4、搭建dhcp服务,实现ip地址申请分发

注:DHCP服务的软件:

dhcp(CentOS 7 之前版本) 或 dhcp-server(CentOS 8 中的包名)

本实验在centos7完成

  • 安装软件包
yum install -y dhcp 或 yum install -y dhcp-server (centos8)
  • 修改配置文件
[root@localhost ~]# cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 180.76.76.76, 114.114.114.114; #DNS服务 default-lease-time 86400; #地址租期
max-lease-time 106400; #地址最大租期 subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.100 192.168.42.120; #地址池
option routers 192.168.42.1; #网关
} 注:将地址与MAC地址进行绑定
host test {
hardware ethernet 00:0c:29:b1:39:7a;
fixed-address 192.168.42.125;
}

  • 重启服务
systemctl restart dhcpd
  • 客户端网卡配置
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
NAME="eth0"
DEVICE="eth0"
ONBOOT=yes
NETBOOT=yes
UUID="71bb1423-8fef-4074-88fd-30cb062bdde7"
IPV6INIT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
  • 获取地址
dhclient -d

  • 查看获取到的地址

linux作业--第八周的更多相关文章

  1. bug终结者 团队作业第八周

    bug终结者 团队作业第八周 本次任务 素材提供及编辑:20162328 蔡文琛 博客修改完善:20162322 朱娅霖 "bug终结者" 宏伟蓝图 UML 手绘底稿 用例图 选项 ...

  2. 20135302魏静静——linux课程第八周实验及总结

    linux课程第八周实验及总结 实验及学习总结 1. 进程切换在内核中的实现 linux中进程切换是很常见的一个操作,而这个操作是在内核中实现的. 实现的时机有以下三个时机: 中断处理过程(包括时钟中 ...

  3. 补交作业-第八周PSP

    一.表格 C(分类) C(内容) S(开始时间) ST(结束时间) I(打断时间) △(净工作时间) 讨论 用户界面 9:30 10:40 15 55 编码 编码 13:20 16:30 10 180 ...

  4. Linux内核分析作业第八周

    进程的切换和系统的一般执行过程 一.进程调度的时机 中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用sch ...

  5. linux作业--第五周

    1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...

  6. linux作业--第三周

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@localhost ~]# cat /etc/passwd | grep ...

  7. Linux入门-第八周

    1.用shell脚本实现自动登录机器 #!/usr/bin/expectset ip 192.168.2.192set user rootset password rootspawn ssh $use ...

  8. linux作业--第十一周

    1. 导入hellodb.sql生成数据库 (1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄 (2) 以ClassID为分组依据,显示每组的平均年龄 (3) 显示第2题中 ...

  9. linux作业--第十周

    1.在阿里云服务器搭建openv-p-n(有条件的同学再做) 2.通过编译.二进制安装MySQL5.7 编译安装MySQL5.7 安装相关包 yum -y install libaio numactl ...

随机推荐

  1. 一些求和式的估算 & 杜教筛时间复杂度证明

    本文内容概要: \(A=\sum\limits_{i=1}^n\dfrac1{\sqrt i}=1+\dfrac1{\sqrt2}+\cdots+\dfrac1{\sqrt n}\) \(O(\sqr ...

  2. JS Map与Set

    笔记整理自:廖雪峰老师的JS教程 Map JavaScript的对象有个小问题,就是键必须是字符串.但实际上Number或者其他数据类型作为键也是非常合理的. 为了解决这个问题,最新的ES6规范引入了 ...

  3. js 计算中英文混合字符串长度

    转载请注明来源:https://www.cnblogs.com/hookjc/ function isChinese(str) {    var lst = /[u00-uFF]/;          ...

  4. 联邦学习:按Dirichlet分布划分Non-IID样本

    我们在<Python中的随机采样和概率分布(二)>介绍了如何用Python现有的库对一个概率分布进行采样,其中的dirichlet分布大家一定不会感到陌生.该分布的概率密度函数为 \[P( ...

  5. 通过shell脚本进行linux服务器的CPU和内存压测

    文章目录 内存压测 python的方式 shell的方式 cpu压测 在正常手段下,这个只是压测的方法 在不正常手段下(crontab计划任务),可以提高CPU和内存的使用率 什么?你问我为什么要提高 ...

  6. Spring Boot对Spring Data JPA的支持

    前两篇介绍了Spring Data JPA的基本使用,本篇介绍Spring Boot 对JPA的支持.如下: 1)导入坐标 2)注解配置 其他配置同Spring Data JPA应用之常规CRUD操作 ...

  7. Spring Boot数据访问之动态数据源切换之使用注解式AOP优化

    在Spring Boot数据访问之多数据源配置及数据源动态切换 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中详述了如何配置多数据源及多数据源之间的动态切换.但是需要读数据库的地方,就 ...

  8. 【Python自动化Excel】pandas操作Excel的“分分合合”

    话说Excel数据表,分久必合.合久必分.Excel数据表的"分"与"合"是日常办公中常见的操作.手动操作并不困难,但数据量大了之后,重复性操作往往会令人崩溃. ...

  9. 实体类分层命名PO,VO,BO,DTO,POJO,DAO,DO

    一.Java中PO.DO.TO.DTO. VO. BO.POJO .DAO的概念 PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录 ...

  10. 【一天一个小知识10/20】Unity通过www获取json文本信息。

    前提:领导要我在unity获取局域网服务器的文本信息.给了一个json的网络文本让我测试.我对于json以及服务器比较陌生.就直接去网上找相关的资料. 以下是自己测试的代码,没问题. 测试的网络jso ...