SSH概述(加密算法)
跳板机概念拓展
VMware软件网络模式的讲解SSH概述熟悉Linux的人那肯定都对SSH不陌生。ssh是一种用于安全访问远程服务器的协议,远程管理工具。它之所以集万千宠爱为一身,就是因为它的安全性。那么它到底是怎么样来保证安全的呢?到底是如何工作的呢?加密算法(了解)
对称加密算法(DES)

案例:Jack想要给Harry发送信息A,为了安全起见,Jack使用一种加密算法,比如给信息通过加一个数字B得到一个新的数字C,然后以公开的方式发送给Harry。1. Jack发送明文A,使用密钥B加密成密文C。
2. Harry收到密文C后,通过减去密钥B得到明文A。
3. Jack发送给Harry的信息A称为明文;加密后的信息C称为密文;加密用的B称之为密钥。总结:
1. 发送方使用密钥将明文数据加密成密文然后发送出去。
2. 接收方收到密文后,使用同一个密钥将密文解密成明文进行读取。非对称加密算法(RSA)

案例:Harry生成一对密钥(公钥e和私钥f),Jack使用Harry的公钥e加密信息A为密文C并发送给Harry。1. Jack使用公钥e加密信息A为密文C。
2. Harry使用私钥f解密密文C得到明文A。总结:1. 发送方使用接收方的公钥将明文数据加密成密文然后发送出去。
2. 接收方收到密文后,使用自己本地留存的私钥将密文解密成明文进行读取。对称加密与非对称加密区别对称加密:1. 使用同一个密钥进行加密和解密,密钥容易泄露。
2. 加密速度快,效率高,数据传输速度快,安全性较低。非对称加密:1. 使用不同的密钥(公钥和私钥)进行加密和解密。
2. 加密速度慢,安全性较高。SSH基于用户名密码的验证方式==非对称加密==基本语法:powershell
ssh【选项】 远程服务器的用户名@远程服务器的IP地址选项说明:
- `-p`:指定ssh服务的端口号,默认为22。认证原理:

1. SSH客户端向SSH服务端发起一个登录请求。
2. SSH服务端将自己的公钥发送给SSH客户端。注意:如果是第一次访问,则提示以下内容:```powershell
ssh远程登录操作首次
ssh 192.168.19.101
显示结果
无法确认主机的真实性
The authenticity of host '192.168.19.101 (192.168.19.101)' can't be established.
ECDSA key fingerprint is SHA256:Y/cQNWWkX15o2MsJ5H0QBI2m8S33qIA+x3zys8J4p0Y.
ECDSA key fingerprint is MD5:76:61:86:8b:d5:ee:bf:9c:60:e6:12:fa:f6:f0:74:36.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.19.101' (ECDSA) to the list of known hosts.
```说明:
当客户端输入yes确认对方的公钥指纹后,server端的公钥就会被存放到客户机的用户家目录里`~/.ssh/known_hosts`文件中,下次再访问就直接通过密码登录,不需要再确认公钥。1. SSH客户端使用服务端发过来的公钥将自己的密码加密并且发送给SSH服务端。
2. SSH服务端收到SSH客户端发过来的加密密码后使用本地留存的私钥进行解密。
3. SSH服务端将解密出来的密码和 `/etc/shadow` 文件里的用户密码对比认证。
4. SSH服务端认证成功,则返回登录成功结果,并发送一个随机会话口令给客户端,该口令用于后面两台主机进行数据传输的一个临时加密会话口令。SSH总结- SSH是Linux下远程管理的工具,相比Telnet安全,运维人员必备的神器!
- SSH的全称Secure Shell,安全的shell,是Client/Server架构,默认端口号为22,TCP协议。
- SSH其实用于商业,而OpenSSH即为开源的,在Linux中默认安装。跳板机

实验步骤第一步:把现有的CentOS7操作系统恢复快照(刚装完系统的Linux服务器)。第二步:对CentOS7操作系统进行克隆,生成JumpServer与RealServer(线上生产服务器)。| ip地址 | 角色信息 |
| -------------- | ---------- |
| 192.168.75.129 | JumpServer |
| 192.168.75.130 | RealServer |所有服务的搭建思路- 关闭防火墙和SELinux(实验环境都先关闭掉)。
- 配置YUM源(公网源或者本地源)。
- 软件安装和检查。
- 了解并修改配置文件。
- 启动服务检查运行状态并设置开机自启动。搭建SSH服务器(JumpServer与RealServer)第一步:关闭防火墙与SELinux```powershell
systemctl stop firewalld
systemctl disable firewalldsetenforce 0vim /etc/selinux/config
SELINUX=disabled
```VMware中的三种网络

由上图可知:在VMware中,一共存在3种网络模式。- VMnet0桥接模式:和物理真机连接在同一交换机,相当于系统与Windows处于同一个网段。- 与物理真机同网段,如192.168.43.X。- 桥接模式可以连接外网(有网络)。- VMnet1仅主机模式:封闭的网络环境,仅能与Windows物理真机进行连接。无法连接外网。- 与物理真机不在同一个网段,拥有独立的IP网段。- 仅主机模式仅能用于内部连通(VMware=>JumpServer、RealServer)。- 仅主机模式无法连接外网。- VMnet8 NAT模式:相当于一个独立的网络环境,与物理真机不处于同一个网段。但是其可以通过虚拟网络路由器(NAT地址转化)连接外网。- 与物理真机不在同一个网段,拥有独立的IP网段。- 不仅可以进行内部连接(VMware=>CentOS6、CentOS7)。- 拥有一个虚拟的路由器(NAT设备)可以让我们虚拟机连接到外网。静态IP配置给JumpServer配置两张网卡(NAT模式+仅主机模式)。

添加仅主机模式网卡:

重启network网络,然后使用ifconfig获取仅主机模式的网卡信息。
powershell
systemctl restart networkifconfig
由上图可知,仅主机模式的网卡为ens37,NAT模式网卡为ens33。遇到一个问题,ens37这张网卡没有配置文件:
powershellcd /etc/sysconfig/network-scripts/
ls
添加ens37配置文件:
```powershell
cp ifcfg-ens33 ifcfg-ens37vim ifcfg-ens37
TYPE="Ethernet"
BOOTPROTO="none"
IPADDR=192.168.75.130
NETMASK=255.255.255.0
NAME="ens36"
DEVICE="ens36"
ONBOOT="yes"
```
重启计算机网络:
```powershell
systemctl restart network
```
关闭NetworkManager
Linux图形化界面中的网络管理器,有些时候我们设置了静态IP。但是重启网络后,其并没有生效或者和你设置的IP地址不一致,很可能是由于NetworkManager工具的影响。
```powershell
systemctl stop NetworkManager
systemctl disable NetworkManager
```
RealServer网卡配置把NAT模式的网卡更改为仅主机模式,然后设置一个静态IP地址。

由于现在只有一张网卡,所以仅主机模式对应的网卡为ens33,配置:
```powershell
vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"
BOOTPROTO="none"
IPADDR=192.168.66.138
NETMASK=255.255.255.0
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
```
设置完成后,重启计算机网络:
```powershell
systemctl stop NetworkManager
systemctl disable NetworkManagersystemctl restart network
```