SSH协议原理和实践

基本概念

SSH 传输层安全,是一个提供安全防护的协议框架,包括

  • 连接协议 信息隧道复用为逻辑通道
  • 用户认证协议 服务端用户身份验证
  • 传输层协议,包括服务器认证,数据对称加密传输,摘要认证

SSH版本分 SSH1 和 SSH2,底层基于TCP协议,动态路由寻址

SSH服务端客户端建立连接过程:

  • SSH版本号协商,服务端开启端口22监听,客户端发起TCP请求,
  • 密钥、算法协商
  • 服务端对客户端进行认证
  • 客户端发送会话请求
  • 交互会话,信息交互

涉及算法
密钥交换算法,非对称加密用于协商生成本地密钥,算法顺序 协商匹配的密钥算法可能影响协商
server host key算法
数据加密算法,对称加密,用于数据传输
摘要认证算法,数据一致性验证

三方件介绍

JSch 即JAVA secure channel,是纯JAVA的SSH2客户端实现。
Apache Mina sshd是纯JAVA的SSH1实现,支持客户端和服务端。
单就命令执行,JSch 效率比sshd高,且交互方式更简洁。
JSch 2018年后官方不再活跃,签名算法只支持SHA1无法扩展,只能侵入修改(考虑开源声明污染)
Mina-sshd 2.6.0发布,和2.5.1区别是废弃弱算法,默认不支持,但有实现类,可通过扩展ClientBuilder实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值