ssh远程控制协议
进程名:ssh
openssh 开源软件,主要是为了适配linux系统。
ssh:secure shell 安全通道协议。主要用来是实现字符界面的远程登录 远程复制 加密的文件传输协议SFTP
ssh客户端 网络层 传输层tcp协议 ssh服务端 ssh默认端口号22
数据的传输是加密的,可以防止信息泄露
数据的传输是压缩的,可以提高传输速度
客户端:xhell moba
服务器:服务器主机
ssh_config:配置客户端的相关设置
sshd_config:配置服务器的相关设置
ssh的组成部分:
传输层协议 [SSH-TRANS]
提供服务器认证,保密已经完整性校验提供数据压缩功能
ssh-tran只能基于主机进行认证,不能进行用户认证。
用户认证协议[SSH-USERAUTH]提供用鉴别功能。
验证用户是否有登录资格,验证用户名和密码是否输入正确
连按协议:
验证完成之后,实现远程登录或者其他远程功能,远程命令执行。
-P 10022
远程复制:scp
scp root@192.168.233.10:/opt/ky32.txt /opt/
scp:远程复制命令固定开头
root@192.168.233.10 以root用户远程登录10服务器
:/opt/ky32.txt /opt
我要从远程主机上复制的文件或者目录的路径
/opt文件保存到本机的路径
scp -rP 10022 root@192.168.233.10:/opt/test /opt
-r:复制目录
-P:非默认端口22都要加
SFTP:加密的文件传输协议,和FTP操作一样的
不仅能传输文件,也是远程登录的一种方式,可以查看登录主机的目录文件之类的基本操作
Sftp
ssh密钥登录,免密登录
ssh有两种验证方式:用户名和密码进行匹配验证
密钥队验证,可以进行免密登录
- ssh-keygen 生成自己的公钥和私钥,将公钥发送给服务器
- 服务器收到之后,客户端再向服务端发起登录请求
- 服务端会把接受到的密钥加密之后生成一些随机数,发送给客户端
- 客户端接受随机数和自己的密钥队验证,验证完之后解密,然后发送给服务端
- 服务端收到解密数据,和公钥数据进行对比,数据一致,允许登录
ssh-keygen
加密算法: ecdsa rsa dsa
ssh-keygen -t ecdsa
rsa
dsa
Enter file in which to save the key (/root/.ssh/id_ecdsa):
#你要把生成的密钥放在哪个目录
(/root/.ssh/id_ecdsa):默认就是放到这/root/.ssh/
默认文件名id_ecdsa
id ecdsa 私钥文件
id ecdsa.pub 公钥文件
密钥文件
cd /root/.ssh/
ssh-copy-id -i id_ecdsa.pub root@192.168.233.20 #把生成的公钥文件发送给服务端20
ssh-agent bash #提供一个新的验证身份代理,用于管理和缓存密钥,可以实现免密码登录
ssh-add #把密钥添加到 bash当中。
非默认端口,不是22端口:
ssh -p 10022
scp -P 10022
scp -rP 10022
sftp -P 10022
vim sshd_config
AllowUsers 允许连接
DentUsers 拒绝连接
都可以设置多个用户,多个用户之间用空格隔开
指定主机用@符号
注:不要同时允许和拒绝同一用户
tcp wrappers:访问控制
代为监听tcp服务程序的端口
格式:
服务名:客户端地址列表
hosts.allow 允许个别,拒绝所有
hosts.deny 允许所有,拒绝个别
vim /etc/hosts.deny
Ssh:ALL
Vim /etc/hosts.allow
Ssh:
先检查allow,如果有匹配的策略,则允许访问,
再检查deny,如果有策略匹配,拒绝访问。
若上述文件都没有匹配策略,直接放行。
yum安装
yum安装一键下载,一键安装,一键解决依赖关系
Centos7 yum
Centos8 红帽8 dhf .rpm结尾
Ubuntu:apt .deb结尾
yum的相关命令:
1.yum list #显示当前yum源所有可以使用的rpm软件包
yum list +指定包名 #指定查看软件包
2.yum info +指定包名 #显示软件包详细信息
3.yum search +包名 #模糊查找
yum whatprovides +包名#精确查找
- yum install #安装
- yum updata #升级包
- yum remove #卸载包
- yum history #查看yum的操作历史
- yum clean all && yum makecache #清缓存并建立源数据
yum的配置文件:
vim /etc/yum.conf
cachedir=/var/cache/yum/sbasearch/sreleasever 缓存的保存目录,可以更改
keepcache=0 更保存到本地=0 =1
光盘镜像即使打开缓存,包也不会下载到本地。
只有在线源的包才能保存到本地。
三种yum源的安装方式:
httpd的yum源
vsftp的方式
混合源:本地源和在线源,混合
httpd:
关闭防火墙和安全机制
安装httpd
打开httpd服务
NFS共享存储:
network file system 计算机网络中共享文件系统的协议。
允许不同的计算机之间通过网络共享目录和文件。
是目前操作系统当中标准服务之一。
NFS:有服务端,客户端
工作原理:
服务端将指定的目录,可以是一个也可以是多个,标记为共享目录。
授权给客户端访问权限
客户端可以通过nfs协议发送请求到服务器,服务器通过之后,客户端可以向访问本地目录一样,使用这个远程的目录。
服务端和客户端之间,共享目录当中的内容是即使同步。
需要以下两个服务:
rpcbind:远程共享调用服务
nfs-utils:共享协议
分在在两个虚拟机里安装两个服务 yum -y install rpchind nfs-utils
设置nfs配置:
暴露共享服务的目录,以及设置客户端的权限。
vim /etc/exports
/opt/ky32 192.168.233.0/24(rw,syncno_root_squash)
/opt/ky32 指定共享目录
192.168.233.0/24 指定哪些主机可以访问共享屏幕
(rw,syncno_root_squash) 指定客户机的权限
rw:允许客户机拥有读写权限。ro就是只读
sync:同步写入磁盘当中
no_root_squash:客户机以root身份访问共享目录时,赋予客户机本机的root权限
root_squash:客户机以 root身份访问共享目录时,将root用户当成匿名用户。
all_squash:所有访问者都会当成匿名用户
async:数据会被先保存在内存缓冲区,需要时才会需要。
分别关闭防火墙和安全系统
chmod 给目录权限
查看端口号
Nfs共享的启动顺序:
先启动rpcbind,再启动NFS
NFS依靠rpcbind的网络协议, NFS先启动可能会导致共享失败
rpcbind的默认端口是111,NFS没有端口号
_netdev:表示挂载设备需要网络,即网络启动之后在进行挂载