ssh 免密登录 Linux的例行工作

目录

一,ssh的工作流程

1.版本号协商

2.密钥和算法协商

3.认证阶段

1)基于口令的认证

2)基于公钥的认证:免密登录

4.会话请求阶段

5.交互会话阶段

二,Linux的例行工作

1.单一执行的例行工作(atd)

操作例子:


一,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 ~]# 

有任何问题欢迎私信和评论!!!

看都看了动动手指点个赞吧 ~

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值