目录
一,ssh的工作流程
我们使用的 xshell/mobaxterm 都是通过ssh协议连接到我们Linux,能连接上主要是因为Linux系统都默认安装了ssh软件,并且启动了sshd服务:会监听22号端口。
ssh的加密方式有两种 1. 对称加密:使用同一个密钥进行加密和解密 2. 非对称加密:指的是有一对密钥(公钥和私钥):使用公钥对数据加密,加密之后只能私钥去解密。
ssh进行连接的时候会使用到: 加密算法,密钥交换算法,完整性校验。
具体工作流程:
1.版本号协商
启用sshd服务后,服务会默认监听22号端口
服务端向客户端发送一个报文来协商使用哪个版本(主要有两个版本:ssh1,ssh2),客户端收到后比较版本然后选择合适的版本并恢复服务端。
2.密钥和算法协商
服务端和客户端发送报文协商都支持的算法
利用DH算法计算出会话密匙和会话ID,计算出一个key(不是互相传输的)
会话密钥: ssh连接成功之后,使用对称加密对传输的数据进行加密, 使用加密的密钥就是会话密钥。
会话ID: ssh断开连接,现在要恢复连接,通过会话ID来确认是不是上一次的连接
最终的结果就是客户端和服务器都掌握了会话密钥和会话ID:进行传输数据的时候就可以使用会话密钥进行加密和解密
3.认证阶段
有两种认证方式
1)基于口令的认证
服务器把这个问题抛给客户端,让客户端去确认现在连接正确性。
无论你请求的是服务器还是黑客,它都给你返回公钥,客户端手动的去确认你是否信任这个公钥,如果信任你就去连接,如果不信任就断开连接。
2)基于公钥的认证:免密登录
客户端生成一对密钥(公钥和私钥)
把生成的公钥手动放到服务端的用户家目录的~/.ssh/authorized_keys
服务器收到客户端的请求之后,先生成随机数random_server, 使用客户端放在authorized_keys这个文件中的公钥对随机数进行加密成pubkey发送给客户端
客户端有公钥和私钥,客户端收到这个加密的数据pubkey, 客户端使用私钥进行解密拿到random_server
客户端和服务端都用MD5(hash) 对random_server和sessionkey(会话密钥)加密形成一个摘要digest1
客户端把自己算出来的digest1发送给服务端
服务端经过比较如果相等,登录成功,如果不相等,登录失败。
具体操作:
ssh-keygen -t rsa
ssh-copy-id root@192.168.120.134
4.会话请求阶段
在第三步完成之后, 认证通过后,客户端向服务器端发送会话请求
5.交互会话阶段
会话请求通过后,服务器端和客户端进行信息的交互
二,Linux的例行工作
例行工作:定时任务,设定时间去执行任务
例行工作分为 单一执行的例行工作(atd) 和 循环执行的例行工作 (crond)
1.单一执行的例行工作(atd)
at 参数 TIME
at命令操作,这是一个交互式的命令。at命令会将例行工作写入/var/spool/at目录
at命令也可以设置权限
/etc/at.allow: 设置允许的用户,默认不存在,如果要设置,需要手动建立这个文件
/etc/at.deny: 设置拒绝的用户
读取的方式: 先去读取at.allow: 设置允许的用户,如果没有at.allow这个文件再去读取at.deny
设置拒绝的用户,如果两个文件都不存在,只有root用户可以。
操作例子:
1.设置在三分钟后输出 hello world到文件 /root/at_output
at now + 3minutes
warning: commands will be executed using /bin/sh
at> echo "hello world" > /root/at_output
at> <EOT>
2.设置在明天的下午4点 将 it is tea time 增加到/root/at_output
[root@rhcsa ~]# at 4pm tomorrow
warning: commands will be executed using /bin/sh
at> echo "it is yea tiame" > /root/at_output
at> <EOT>
job 9 at Tue Apr 12 16:00:00 2022
3.设置1月13号 上午 9点 将 我要上RHCE课 增加到/root/at_output
[root@rhcsa ~]# at 9am Jan13
warning: commands will be executed using /bin/sh
at> echo "我要上RHCE课" > /root/at_output
at> <EOT>
job 14 at Fri Jan 13 09:00:00 2023
[root@rhcsa ~]#
有任何问题欢迎私信和评论!!!
看都看了动动手指点个赞吧 ~