1。  ssh 合约

    

           SSH 为建立在应用层和传输层基础上的安全协议。

SSH 是眼下较可靠,专为远程登录会话和其它网络服务提供安全性的协议。利用
SSH 协议能够有效防止远程管理过程中的信息泄露问题

          

2.细节 

ssh 登录

1.ssh向sshd发起请求,sshd会告诉请求过来的ssh自己是啥版本号,还又能跟那些版本号搭话。

2.ssh确认自己版本号够新能够和sshd交互后,ssh和sshd就開始交换两方能支持的加密算法之类的信息

3.sshd就首先生成session key, 把当中的sshd_key_pub发给ssh, 而且随机生成一个id,也发给ssh

4.ssh自己也生成session key,然后和id异或得到暂时的tmp_session_key,然后用sshd_key_pub加密发给sshd5.sshd用自己的sshd_key解密得到tmp_session_key。然后和id异或之后就得到了ssh生成的session key所以到这步ssh和sshd之间就建立起了一个加密过的通道

信任关系鉴权

1.client用已经建立起来的加密通道,用session key加密自己的id_rsa.pub发给server 【加密通道过程】

2.server端用session key解开获取到id_rsa.pub,在authorized_keys里头找匹配的key,假设找到了就生成校验码verify_code,用id_rsa.pub加密,再用session key再次加密,然后才发给client

3.client用session key解开之后。用自己的id_rsa解密内容,得到verify_code,然后用session key加密verify_code再发给server

4.server用session key解开后跟自己发出去的verify_code校验,假设一致就鉴权通过  【为什么要进行二次鉴权?

应该是防止,人家模拟发包刚好=某个【session key加密自己的id_rsa.pub】从而建立欺骗的信任。

疑问:这个暂时生成的verify_code 【暂时令牌】多久过期?





 

3.对照

项目 ssh信任关系鉴权 redius计费协议 oauth2.0认证和授权 https 认证过程 lvs防止tcp长连接攻击
大致过程 1.cs建立加密通道 2.c发普通鉴权信息给s 3.s鉴权后发给c暂时令牌 1.通过AAA认证过程建立信任通道2.client发出随机的暂时令牌 request-auth3.server端通过ResponseAuth = MD5(Code+ID+Length+RequestAuth+ Attributes+Secret)。返回响应4.client通过暂时令牌和自身的secret确认的确是非伪装的server回应。 1.用户訪问漂亮说。点击用微博账号登录2.漂亮说通过appkey获得微博的一个暂时授权令牌3.漂亮说用暂时授权令牌和用户账号password请求微博提供用户的账号基础信息4.微博鉴权成功后返回账号基本信息 1.浏览器发送自己支持的认证方式2.server返回证书。里面包括了站点地址,加密公钥3.浏览器接收证书,并生成一串随机数的password【暂时令牌】,并用证书中提供的公钥加密,发给server4.server使用私钥取出暂时令牌,并使用公钥+暂时令牌与浏览器交互信息注:https的公钥仅仅能加密,私钥仅仅能解密。固安全性高 1.sync flood 通过SYN攻击,攻击者能够建立与受害者计算机的最初连接,受害者计算机等待连接的完毕。攻击者利用TCP中的“三次握手”来建立可信的连接。当最初连接打开时。它会消耗受害者计算机上的资源,直到它用尽连接或产生其它问题。

2.防御。1)当client发出sync,server返回 特殊的sync+ack,但不等待2)该特殊的sync是个用时间计算的暂时令牌。10分钟内有效3)当client返回 sync+ack。仅仅需看看
sync-1是否是有效的暂时令牌,假设是则连接,不是无论。

核心 暂时令牌 暂时令牌 暂时令牌 暂时令牌,公钥。私钥 与时间相关的暂时令牌

版权声明:本文博主原创文章,博客,未经同意不得转载。

ssh探头安全的更多相关文章

  1. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  2. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  3. 记录一则Linux SSH的互信配置过程

    需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置登录用户的互信 1.各节点ssh-keygen生成RSA密钥和公钥 ssh-keygen -q -t rsa -N ...

  4. SSH免手动输入密码和设置代理

    通过使用sshpass将密码写入命令里,直接执行,免去手动密码输入的步骤命令如下: sshpass -p password_abc ssh user_abc@ssh_host -p ssh_port ...

  5. github免输用户名/密码SSH登录的配置

    从github上获取的,自己整理了下,以备后用. Generating an SSH key mac windows SSH keys are a way to identify trusted co ...

  6. Linux 利用Google Authenticator实现ssh登录双因素认证

    1.介绍 双因素认证:双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一 ...

  7. mac下生成ssh keys 并上传github仓储

    使用github仓储需要本机生成一个公钥key 添加到自己的git账户SSH keys中   mac 生成方法:   1. 打开终端 输入   ssh-keygen 然后系统提示输入文件保存位置等信息 ...

  8. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  9. 树莓派3B的食用方法-1(装系统 网线ssh连接)

    首先要有一个树莓派3B , 在某宝买就行, 这东西基本上找到假货都难,另外国产和英国也没什么差别,差不多哪个便宜买哪个就行. 不要买店家的套餐,一个是配的东西有些不需要,有的质量也不好. 提示:除了G ...

随机推荐

  1. 每天一个JavaScript实例-操作元素定位元素

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. python类继承时构造函数的运行问题

    假设子类定义了自己的__init__构造方法函数.当子类的实例对象被创建时,子类仅仅会运行自己的__init__方法函数.假设子类没有定义自己的构造方法函数.会沿着搜索树找到父类的构造方法函数去运行父 ...

  3. 【JAVA编码专题】总结 分类: B1_JAVA 2015-02-11 15:11 290人阅读 评论(0) 收藏

    第一部分:编码基础 为什么需要编码:用计算机看得懂的语言(二进制数)表示各种各样的字符. 一.基本概念 ASCII.Unicode.big5.GBK等为字符集,它们只定义了这个字符集内有哪些字符,以及 ...

  4. Swift入坑系列—集合类型

    数组(Arrays) 字典(Dictionaries) 数组(Arrays) 在OC里面,NSArray和NSMutableArray这两个类可以存储任意类型的对象,并且不提供所返回对象的任何特别信息 ...

  5. [GraphQL] Deploy a GraphQL dev playground with graphql-up

    In this lesson we'll use a simple GraphQL IDL schema to deploy and explore a fully functional GraphQ ...

  6. 转载:使用bat命令来快速安装和卸载Service服务

    一般我们在编写完Service服务程序后,都是通过cmd命令提示窗口来安装或卸载服务,但频繁的在cmd窗口中去“拼”文件的路径着实让人“不能忍”.所以,我们需要一钟“更快捷”的方式来进行安装或者卸载操 ...

  7. windows phone8.1:页面导航详解

    小梦给大家带来windows phone 8.1应用开发实战教程,分享自己学习,开发过程中的经验和技巧. 今天给大家分享windows phone 8.1页面导航相关知识.涉及知识点如下: 页面一导航 ...

  8. 详解springmvc控制登录用户session失效后跳转登录页面

    springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml <session-config> <session-timeo ...

  9. Cocos2d-x学习笔记(16)(常见22种特效)

    1.CCShaky3D::create(int range.bool shakeZ,const ccGridSize& gridSize,float duration)//创建一个3D晃动的特 ...

  10. 指针知识梳理6-const与指针

    const 定义的变量为仅仅读变量.在语法层面上通过这个变量去改动内存是不同意的. 可是对于下面代码.就有非常多人绕了: const int  *p1;  //p1能变.*p1不能变 int cons ...