Linux ssh协议

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
基础知识
  • ssh:secure shell protocol,安全的远程登录
  • 作用:是建立在应用层基础上的安全协议,实现数据传输过程中数据的加密,代替telent协议
  • 使用tcp协议,端口号为22
ssh服务具体的软件实现:
  • openSSH
  • dropbear
OpenSSH:ssh协议的开源实现,linux(centos、ubuntu等)默认使用的是openssh来实现ssh这个服务的

dropbear:另一个ssh协议的开源项目的实现

ssh的通信过程:

第一次连接的时候就要进行公钥的交换

  • 客户端发起请求
  • 服务端返回给客户端自己的公钥,以及生成一个会话ID
  • 客户端生成密钥对:将自己的公钥和会话ID做异或运算,然后再使用服务端的公钥来加密异或运算的到的值
  • 服务端的到这个加密的数据后使用自己的私钥解密得到数据
  • 服务端使用解密后得到的数据和会话ID进行异或运算得到客户端的公钥(服务器得到客户端公钥)
最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

服务器的公钥表现为一个磁盘文件

客户端的公钥是临时生成的(在连接的时候自动生成一个公钥)

ssh加密通信原理
假如A和B通信,A是客户端,B是服务端
A--->B
客户端A使用服务端B的公钥来加密数据,服务端B使用自己的私钥来解密数据

B--->A
流程和A--->B的流程是一样的

#第一次连接的时候会把目标主机的公钥利用哈希算法生成一个摘要,需要手动确认目前连接的机器是想要连接的目标主机
#确认以后会自动把对方的公钥下载下来,下次再连接的时候就能确保是否和第一次是同一个主机。

#对方公钥存放位置:
当前用户的家目录下面一个叫做ssh的隐藏文件夹,里面有个叫做known_hosts的文件,里面记录了远程主机的公钥。

#拿到公钥的好处:
如果下次访问的时候有一个假冒的主机(同样的ip地址等信息),系统是能够发现的。

#新的机器地址和旧地址一样,只需要删除旧机器对应的公钥文件就可以重新连接上去了 .ssh/known\_hosts里面

openssh服务

OpenSSH是SSH(Secure SHell)协议的免费开源实现,一般在各种Linux版本中会默认安装,基于C/S结构

Openssh软件相关包组成:
  • openssh
  • openssh-clients:服务器的配置文件带D,客户端的配置文件不带D
  • openssh-server:这个包定义了服务器的配置文件
#可以使用rpm -ql 包名 :查看软件包中的内容

服务端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值