what

SSH的英文全称为Secure Shell,是IETF(Internet Engineering Task Force)的Network Working Group所制定的一族协议,其目的是要在非安全网络上提供安全的远程登录和其他安全网络服务。 我们可以简单理解为:Rlogin和Telnet等的替代方案。

1.SSH主要的三个协议
  • 传输层协议:通过服务器认证,数据机密性,信息完整性等支持
  • 用户认证协议:为服务器提供客户端的身份鉴别
  • 连接协议:将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用;各种高层应用协议可以相对独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制.

    2.SSH安全验证级别
  • 基于口令的安全验证:只要你知道自己的账号和口令,就可以登录到远程主机.所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想要连接的服务器,有可能是冒充的"中间人"
  • 基于密匙的安全验证:
    • 现为自己创建一对密匙,并把公匙放在需要访问的服务器上
    • 客户端软件向服务器发送请求,请求用你的密匙进行安全验证
      -服务器收到请求,在服务器目录下寻找公匙并与你发过来的公匙进行比较.如果公匙相同,服务器就会用公匙加密"质询"并把它发送给客户端软件;
    • 客户端软件受到"质询"之后就可以用私匙解密病把它发送给服务器.

第二种方式可以有效地避免"中间人"攻击方式,相对安全,但是整个登录过程时间比较长,大概要10s左右.

SSH的工作过程

实现SSH安全连接,服务器端和客户端要经理五个阶段:

  • 版本协商阶段:SSH目前有SSH1和SSH2两个版本,双发通过版本协商确定使用的版本.(本阶段服务器会打开22端口,等待客户端连接;本阶段的报文都是通过明文方式传输)
  • 密钥和算法协商阶段:双方根据本端和对端支持的算法,协商最终使用的算法
  • 认证阶段:SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证
  • 会话请求阶段:认证通过后,客户端想服务器端发起会话请求
  • 交互会话阶段:会话请求通过后,服务器端和客户端进行信息的交互.

    why

    传统的网络服务程序,如ftp/pop/telnet在网络传输的时候都会用明文传送口令和数据,所以在本质上都是不安全的.这些服务器的安全验证方式容易受到"中间人"方式的攻击.
    "中间人"攻击方式--即"中间人"冒充真正的服务器接受你发送给服务器的数据,然后再冒充你把数据传给真正的服务器.服务器和你之间的数据传送很容易被中间人做一些手脚.
    而通过使用ssh,你可以吧所有传输的数据进行加密,避免了"中间人"攻击方式以及DNS欺骗和IP欺骗.另外,使用SSH时传输的数据是经过压缩的,所以可以加快传输的速度.

    where

  • 首先,最常见的应用就是通过SSH登录到远方的机器执行你想要进行的工作和命令.(SSH在不安全的网路通讯环境中可以通过很强的验证机制和非常安全的通讯环境.)
  • 其次,通过使用SSH可以本地主机和远程服务器之间是指"加密通道"(SSH的加密通多是通过"端口转发"实现的,你可以在本地端口(没有用到的)和在远程服务器上运行某个服务的端口之间建立"加密通道".然后只要连接到本地端口.所有对本地端口的请求都被SSH加密并且转发到远程服务器的端口.当然只有远程服务器上运行SSH服务器软件的时候"加密通道"才能工作)

    how

    putty WINscp

    结束

    大部分都是在网上其他博文上copy过来的,用作记录用

    原文链接

    http://blog.csdn.net/macrossdzh/article/details/5691924
    http://blog.csdn.net/oncoding/article/details/4365062

SSH 5W学习的更多相关文章

  1. SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏

    SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!!   基础知识目前不够,有感性 ...

  2. Java SSH框架学习(入门)

    SSH就是 struts+spring+hibernate 的一个集成框架,是java中一种流行的JAVA WEB 应用程序开源框架.由于我最熟悉的还是ASP.NET的的MVC和Python的Djan ...

  3. [转载] SSH入门学习基础教程

    在Linux系统中,OpenSSH是目前最流行的远程系统登录与文件传输应用,也是传统Telenet.FTP和R系列等网络应用的换代产品.其 中,ssh(Secure Shell)可以替代telnet. ...

  4. ssh的学习

    快毕业了.临走前帮导师搭建了gerrit,git服务器,其中涉及ssh的知识,就总结了下.希望对大家有帮助 一.前言(ssh出世的原因) 万物有因就有果,既然ssh存在,就必然有它存在的理由! 许多网 ...

  5. SSH 转发学习【转】

    本地端口转发 假定有三台主机A.B.C.由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通.但是B却可以和A.C连通.这时候就可以用本地端口转发来实现A和C通过B来连通. A 192. ...

  6. SSH框架学习

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  7. ssh整合学习(1)

    Hibernate框架 1 hibernate核心配置文件 (0)orm思想 -对象关系映射 (1)数据库信息 (2)hibernate信息 (3)映射配置 (4)hibernate核心配置文件 -如 ...

  8. CentOS7下SSH服务学习笔记

    测试环境: [root@nmserver-7 ~]# uname -aLinux nmserver-7.test.com 3.10.0-514.el7.centos.plus.i686 #1 SMP ...

  9. 1.SSH协议学习笔记

    一.SSH介绍 介绍: SSH全称是Secure Shell,安全外壳协议. 端口号:22: 如何查看服务端口号: grep ssh /etc/services netstat -antup | gr ...

随机推荐

  1. jquery国内cdn

    推荐几个国内的jquery CDN服务地址吧: 新浪CDN,感觉很快,用的人很多,推荐使用! http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.m ...

  2. a标签加绝对定位在图片上面,a的链接和块状属性block失效,而且是所有IE版本都失效的

    谷歌和火狐浏览器下测试是正常的,IE下鼠标移过logo是没有超链接的提示的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  3. 外部主机连接mysql服务器延时严重问题

    1.原因:由于mysql对连接的客户端进行DNS反向解析 2.禁用dns解析,在 /etc/my.cnf 中加入skip-name-resolve 3.反向解析说明: 所谓反向解析是这样的:mysql ...

  4. ecshop的广告链接地址打开有问题修改affiche.php为普通链接

    相信很多用过ECSHOP的站长都知道,ECSHOP的广告链接地址形式为“affiche.php?ad_id=1&uri=http%3A%2F%2Fwww.ecmoban.com” 它中间用 a ...

  5. 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全

    下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码:  document.writeln("<b>喜欢本文,那就分享到 ...

  6. 网页中flash背景透明

    <embed src="文件路径" width="长度" height="宽度" quality="high" t ...

  7. Java笔记--File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别

    转自:http://hi.baidu.com/danghj/item/0ef2e2c4ab95af7489ad9e39 参考资料:  < core java > 12 章 使用 Java ...

  8. Java compiler level does not match the version of the installed Java project facet.解决办法

    问题原因: 出现这个问题的原因是因为,eclipse/myeclipse的jdk编译版本与出现问题的项目JDK编译版本不一致所导致!   解决办法: 工程名---->右键properties-- ...

  9. 设置WebSphere字符集参数

    设置WebSphere字符集参数 1. 登陆was控制台 2. 依次点击服务器→服务器类型→应用服务器,显示应用程序服务器页面: 3. 选择并点击需要设置字符集的服务器,比如说本例中的server1  ...

  10. HDU 4276 The Ghost Blows Light(树形)

    题意:给出一棵n个节点的树,起点1,终点n,相连的两个节点之间有距离,每个节点有个价值,给出一个时间T.问从1到达n在给定时间T内取得的最大价值? 思路:先从1走到n,如果总的时间不够走完,直接退出, ...