目录
一、ssh远程控制协议
进程名:ssh 开源软件,主要是为了适配Linux系统
ssh:secure shell 安全通道协议。主要用来实现字符界面远程登录,远程复制,加密文件传输协议 SFTP。
ssh客户端:主要基于网络层和传输层tcp协议
ssh服务端:端口默认22
数据传输是加密的,可以防止信息泄露
数据传输是压缩的,可以提高传输速率
客户端:final shell、xshell
服务端:服务器主机。
ssh配置文件:
ssh_config:配置客户端相关设置,一般不用
sshd_config:配置服务端的相关设置,主要讨论
ssh root@20.0.0.51
以51主机上root的身份登录51主机
1、ssh的组成部分:
1、传输层协议:SSH-TRANS
提供服务器认证,保密以及完整性校验,
提供数据压缩功能
基于主机进行认证,不能进行用户认证
2、用户认证协议:SSH-USERAUTH
提供一个用户鉴别功能
验证用户是否有登录资格,此外还要验证用户名和密码是否正确
3、连接协议:验证完成之后实现远程登录或者其他远程功能,包括远程复制,FSTP,远程命令执行
2、ssh远程访问控制实验:
关安全机制,防火墙
1、修改默认端口号
配置文件:
vim sshd_config
去远程工具,改端口号
之后就能登录了
命令行方式远程登录:
ssh root@20.0.0.51
远程登录51主机的root用户
非默认端口号登录:
-p
ssh -p 10022 root@20.0.0.51
2、限制远程连接用户
vim /etc/ssh/sshd_config
AllowUsers允许连接
DenyUsers:拒绝连接
都能设置多个用户,多个用户用空格隔开
本机用户连接权限:限制别的主机可以连接本机的哪些用户
重启sshd
在本机创建用户,客户端实验登录
3、远程复制:
命令格式:scp 远程复制
scp -P 10022 root@20.0.0.51:/opt/ky32.txt /opt
50远程连接51主机,把51的opt/ky32.txt,复制到自己的opt目录下
scp:远程复制命令,固定开头
-P 10022(大写):非默认端口号
root@20.0.0.51:以root用户远程登录51服务器
:/opt/ky32.txt;从远程主机上复制的文件或者目录的路径
/opt:文件保存到本机的命令
复制目录:加 -r
scp -r root@20.0.0.51:/opt/test1 /opt
将51主机的test1目录包括其子文件,复制到本机的opt目录下
scp -rP
固定格式,r在前P在后才能执行
-r:复制目录
-P(大写) 端口号:非默认端口22,都要加大P
4、SFTP远程控制:
加密文件传输协议。和ftp操作一样。
不仅能传文件,也是远程登录的一种方式,可以查看登录主机的目录文件之类的基本操作
cmd远程登录:
5、ssh秘钥登录(免密登录):
ssh有两种登录方式:
用户名和密码进行匹配验证
秘钥队验证,可以进行免密登录
秘钥对登录:
- ssh-keygen 生成自己的公钥和私钥,一般公钥登录就行。将公钥发送给服务端
- 服务端收到秘钥之后,客户端再向服务端发起登录请求
- 服务端会把收到的秘钥生成一个随机数,发送给客户端
- 客户端接收随机数和自己的密钥对验证,验证完之后解密,解密完发送给服务端
- 服务端收到解密数据,和原始公钥/私钥数据对比,数据一致,允许登录
实验:
ssh-keygen:设置密钥对命令
加密算法:任选下面其中一个即可
ecdsa
rsa
dsa
ssh-keygen -t ecdsa/rsa/dsa(任选一个)
ssh-keygen -t dsa
ssh-copy-id -i id_dsa.pub root@20.0.0.50
把生成的公钥文件发送给服务端20
文件发给谁,到时候远程连接谁,自己就不用输入密码了
ssh-agent bash
提供一个新的验证身份代理,用于管理和缓存密钥,可以实现免密码登录
ssh-add:
将用户添加免密登录
配置完成之后,下次连接50,自己主机就免密登录了
6、总结:
非默认端口,非22端口:
远程登录:ssh -p 10022 除了远程登录是小写
远程复制 -P(大写)
远程复制目录:-r
sftp -P(大写)
tcp wrappers:访问控制
代为监听tcp服务程序的端口
格式:服务名 客户端地址列表
hosts.allow:允许个别拒绝所有,只有在文件中的用户才能登录
hosts.deny:允许所有拒绝个别
vim /etc/hosts.deny 配置拒绝的登录主机
vim /etc/hosts.allow 配置允许登录的主机
可以先vim /etc/hosts.deny
sshd:ALL 拒绝所有
再进入vim /etc/hosts.allow
sshd:20.0.0.50 允许个别
无需重启直接生效
先检查allow 如果有匹配的策略,则允许访问
再检查deny 如果有策略匹配,拒绝访问
如果上述两文件都没有匹配策略,直接放行。
二、yum:
一键下载,一键安装,一键解决依赖关系。
centos 7 安装软件是yum
centos 8/红帽 安装软件是dhf 安装包是.rpm结尾
ubnutu 安装软件是apt 安装包是.deb结尾
1、yum命令:
yum list:显示当前可使用的rpm软件包
yum list http 查看
yum info:显示所有可用包的信息
yum info nginx:显示nginx安装包的详细信息
yum search 包名:模糊查找相关包
yum search ng:和ng相关的包都会显示
yum whatprovides 包名:精确查找
yum install:安装软件
yum undata:升级包,一般不用
yum remove:卸载
yum history:查看当前yum的操作历史
yum clean all && yum makecache:清缓存,建立元数据
2、yum配置文件:
vim etc/yum.conf yum的配置文件
光盘镜像没有本地缓存,及时打开本地缓存,包也不会下载到本机。
只有在线源的包,可以保存到本机
cachedir=/var/cache/yum/$basearch/$releasever
缓存的保存目录,可以改
keepcache=0
要保存达到本地,改成1
yum安装的日志 var/log/yum.log
3、三种yum源的安装方式:
以下三种核心还是根据本地仓库
- httpd的yum源
- vsftpd的方式的yum源
- 混合源:本地和在线源,混合
1、httpd的方式:
关闭防火墙和安全机制
安装httpd
打开httpd
去流浪器 访问IP地址 看是否正常访问
设置yum源:
备份yum.repos.d下所有
挂载光盘到 /var/www/html 创建一个centos7
vim httpd.repo
浏览器访问 IP地址
清缓存 建立元数据
换一台机器:
进入yum.repos.d目录 创建local.repo文件配置
之后yum clean all && yum makecache 清缓存和建立元数据信息
之后就可以使用yum下载了
可以去浏览器 访问ip地址/centos7 查看视窗查看本地源
2、vsftpd方式
先备份,在配置yum repo文件
创建一个 vsftpd.repo文件
vim vsftpd.repo
配置:
重启vsftpd
挂载
到var/ftp 默认文件传输共享目录
建立centos 7
回到文件:
换一台机子配置
清缓存之后就能用vsftpd安装软件
3、混合源(最好用)
挂载到mnt
回到repo文件配置
之后清缓存 建立元数据信息就可以了
三、NFS共享存储:
计算机网络当中共享文件系统的协议
允许不同的计算机之间,通过网络共享目录和文件
是目前操作系统中标准的服务之一
NFS:服务端、客户端
服务端将指定的目录,一个也可以是多个目录,标记为共享目录
授权给客户端访问权限
客户端可以通过NFS协议发送请求到服务器,服务器通过之后,客户端可以像访问本地目录一样使用远程的目录
服务端和客户端之间共享目录中的内容是即时同步
1、共享存储实验:
两边都关闭防火墙和安全机制
安装
rpcbind:远程共享调用服务
nfs:共享协议 完整名称nfs-utils
yum -y install rpcbind nfs-utils
设置nfs配置:
目的是暴露共享服务的目录,以及设置客户端的权限
vim /etc/exports
指定IP地址 访问共享服务
vim /etc/exports
/opt/ky32 192.168.233.0/24(rw,sync,no_root_squash)
/opt/ky32 指定共享目录
192.168.233.0/24:指定哪些主机可以访问共享目录
(rw,sync,no_root_squash):指定客户机的权限
rw:允许客户机拥有读写权限。ro表示只读
sync:同步写入磁盘
no_root_squash:客户机以root身份访问共享目录时,赋予客户机本机的root权限
root_squash:客户机以root身份访问共享目录时,赋予客户机匿名用户
all_squash:所有访问者都会当成匿名用户者
async:数据不会立刻写入磁盘,先保存到内存缓冲区中,需要时才会写入
给目录赋权777:
chmod 777
nfs共享的启动顺序:
先启动rpcbind
再启动nfs
nfs依靠rpcbind的网络协议,nfs先启动可能会造成共享失败
检查rpcbind是否启动:netstat -antp |grep 111
rpcbind默认端口号 111
nfs只是服务,没有端口号
showmount -e:查看本机提供的nfs共享目录
客户端也要showmount -e 20.0.0.50:查看共享文件
共享出来的目录要和客户机的目录进行挂载
上面是临时挂载
永久挂载:
先解挂
/etc/fstab 设置
_netdev:表示挂载设备需要网络,即网络启动之后在进行挂载。
强制接挂载:
umount -lf 20.0.0.0:/opt/ky32
在去客户机创建的目录,操作检测