ssh远程控制协议
ssh:secure shell 安全通道协议,主要是用来实现字符界面的远程登录,远程复制,加密的文件传输协议SFTP
ssh客户端 网络层 传输层tcp协议 ssh服务端 默认端口号22
数据的传输是加密的,可以防止信息泄露,数据是压缩的,可以提高传输速度
进程名:ssh
openssh 开源软件,主要是为了适配Linux系统
ssh的组成部分:
传输层协议【ssh-trans】
提供服务器认证,保密以及完整性校验
提供数据压缩功能
ssh-tran只能基于主机进行认证,不能进行用户认证
用户认证协议【SSH-USERAUTH】
提供用户鉴别功能。
验证用户是否有登录资格,还要认证用户名和密码是否输入正确
连接协议:
验证完成之后,实现远程登录,或者其他远程功能,远程命令执行。
远程复制:
scp root@192.168.233.10:/opt/111.txt /opt
scp 远程复制的命令,固定开头
root@192.168.233.10 以root用户远程登录10服务器
:/opt/111.txt /opt
远程复制/opt目录下的111,到/opt目录下
SFTP:
加密的文件传输协议,和FTR操作一样的
也是远程登录的一种方式,可以查看登录主机
ssh密钥登录,免密登录
ssh有两种验证方式:用户名和密码进行匹配验证
密钥队验证:可以进行免密登录
1.ssh-keygen 生成自己的公钥和私钥,将公钥发送给服务端
2.服务端收到之后,客户端再向服务端发起登录请求
3.服务端会把接受到的密钥加密之后生成一些随机数。发送客户端
4.客户端接受随机数和自己的密钥队验证,验证完之后解密发送给服务端
5服务端收到解密数据,和公钥数据进行对比,数据一致,允许登录。
ssh-keygen
加密算法
ecdsa:
rsa:
dsa:
tcp wrappers 访问控制
代为监听tcp服务程序的端口
格式:服务名:客户端地址列表
hosts.allow 允许个别,拒绝所有
hosts.deny 允许所有,拒绝个别
先检查allow,如果有匹配的策略则允许访问
再检查deny,如果有策略匹配,拒绝访问
如果上述文件都没有匹配策略,直接放行