论坛风格切换切换到宽版
  • 778阅读
  • 4回复

[问题求助]ssh技术专题.(转贴) [复制链接]

上一主题 下一主题
离线海龟的.
 
发帖
2199
C币
-235349
威望
396
贡献值
6
银元
4
铜钱
4851
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
SSH技术专题



  SSH是英文Secure Shell的简写形式。通过使用SSH,你可.以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和.IP欺骗。使.用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所.以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PP.P提供一个安全的"通道"。 (广告)




SSH介绍篇


■ Secure Shell(SSH)简介. --------------彩票
■ SSH协议体系结构解读
■ SSH通信协议浅析
■ SSH使用及协议分析


SSH安装与配置篇


■ 简易 Telnet 与 S.SH 主机设定 .
■ 安装配置SSH(Secur.e Shell) 域名
■ SSH:增强安全“免疫力.” .
■ 用SSH建立安全通.道(1) 服务器
■ 用SSH建立安全.通道(2) .
■ 用SS.H建立安全通道(3) 健康


SSH应用篇


■ “SSH”让远程控.制更安全 .
■ 如何.测试SSH是否正常工作?            鲜花
■ SSH使用指南
■ SSH 实战
■ 如.何使用S.SH的Port Forwarding加密不安全的服务 外贸
■ SSH进阶:FTP转发
■. 如何在两台linux服务器之间用RSA键对的方法SSH/SCP不需.密码 .


OpenSSH技术


■ Linux系统中O.penSSH的安装和配置 .
■ 以 Ope.nssh 取.代 Telnet 的连线方式 .
■ 通过 .OpenSSH 隧道的 CVS              汽车
■ OpenSSH快速指南
■ O.penSSH缓存溢出漏洞             杀毒
■ Ope.nSSH缺陷允许攻.击者远程利用/非法执行任意代码    外汇

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2063
C币
-235799
威望
384
贡献值
1
银元
0
铜钱
4574
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
谈到网络安全访问
常简写为SSH。这是因为SSH
统、FreeBSD系统都附带有
,相信大家首先想到的就是安全
安装容易、使用简单,而且比较
支持SSH的应用程序包。
Shell,也就是Secure Shell,通
常见,一般的Unix系统、Linux系



  1、什么是SSH ?

    传统的网络服务程
机制的,其本质上都是不安
别有用心的人通过窃听等网
。而且,这些网络服务程序
man-in-the-middle)这种
正的服务器接收你的传给服
之间的数据传送被"中间人"
序,如FTP、Pop和Telnet在传输
全的;因为它们在网络上用明文
络攻击手段非常容易地就可以截
的简单安全验证方式也有其弱点
攻击方式的攻击。所谓"中间人"
务器的数据,然后再冒充你把数
一转手做了手脚之后,就会出现
机制和实现原理上是没有考虑安全
传送数据、用户帐号和用户口令,
获这些数据、用户帐号和用户口令
,那就是很容易受到"中间人"(
的攻击方式,就是"中间人"冒充真
据传给真正的服务器。服务器和你
很严重的问题。
    SSH是英文Secure
密,这样"中间人"这种攻击
,还有一个额外的好处就是
功能,它既可以代替Telnet
Shell的简写形式。通过使用SSH
方式就不可能实现了,而且也能
传输的数据是经过压缩的,所以
,又可以为FTP、Pop、甚至为PP
,你可以把所有传输的数据进行加
够防止DNS欺骗和IP欺骗。使用SSH
可以加快传输的速度。SSH有很多
P提供一个安全的"通道"。
    最初的SSH是由芬兰的一家公司
多人都转而使用OpenSSH。OpenSSH是SSH
来越多的人使用它而不是SSH。
开发的。但是因为受版权和加密算法的限制,现在很
的替代软件包,而且是免费的,可以预计将来会有越

  最后,SSH在运行方式上也很有特色
的基础之上,而不是利用包装(wrappers
过TCP包装来运行SSH守护进程。虽然你可
但这完全没有必要。
。不像其他的TCP/IP应用,SSH被设计为工作于自己
)或通过Internet守护进程inetd。但是许多人想通
以通过tcpd(从inetd上运行启动)来运行SSH进程,





  2、SSH协议的内容

    SSH协议是建立在
同实现SSH的安全保密机制
应用层和传输层基础上的安全协

议,它主要由以下三部分组成,共

    传输层协议,它提供诸如认证、
提供数据压缩功能。通常情况下,这些传
信任和完整性检验等安全措施,此外它还可以任意地
输层协议都建立在面向连接的TCP数据流之上。
    用户认证协议层,
协议之上。
用来实现服务器的跟客户端用户

之间的身份认证,它运行在传输层

    连接协议层,分配多个加密通道至一些逻辑通道上,它运行在用户认证层协议之上。         当安全的传输层连
之后将发送第二个服务请求
用作多种目的通道,为设置
方法。
接建立之后,客户端将发送一个
。这就允许新定义的协议可以和
安全交互Shell会话和传输任意

服务请求。当用户认证层连接建立
以前的协议共存。连接协议提供可
的TCP/IP端口和X11连接提供标准





  3、SSH的安全验证

    从客户端来看,SSH提供两种级别的安全验证。          第一种级别(基于
远程主机,并且所有传输的
器就是你想连接的服务器。
种攻击方式的攻击。
口令的安全验证),只要你知道
数据都会被加密。但是,这种验
可能会有别的服务器在冒充真正

自己的帐号和口令,就可以登录到
证方式不能保证你正在连接的服务
的服务器,也就是受到"中间人"这

         第二种级别(基于密匙的安全验
密匙,并把公有密匙放在需要访问的服务
会向服务器发出请求,请求用你的密匙进
器的用户根目录下寻找你的公有密匙,然
密匙一致,服务器就用公有密匙加密"质
软件收到"质询"之后就可以用你的私人密
证),需要依靠密匙,也就是你必须为自己创建一对
器上。如果你要连接到SSH服务器上,客户端软件就
行安全验证。服务器收到请求之后,先在你在该服务
后把它和你发送过来的公有密匙进行比较。如果两个
询"(challenge)并把它发送给客户端软件。客户端
匙解密再把它发送给服务器。
    与第一种级别相比,第二种级别
仅加密所有传送的数据,而"中间人"这种
。但是整个登录的过程可能慢一些。
不需要在网络上传送用户口令。另外,第二种级别不
攻击方式也是不可能的(因为他没有你的私人密匙)





  4、SSH的应用

    首先,SSH最常见
过SSH登录到远方机器执行
强的验证(authentication
它来取代原UNIX系统上的rc
上完全可以取代传统的Teln
的应用就是,用它来取代传统的
你想进行的工作与命令。在不安
)机制与非常安全的通讯环境。
p、rlogin、rsh等指令程序的;
et、FTP等应用程序。
Telnet、FTP等网络应用程序,通
全的网路通讯环境中,它提供了很
实际上,SSH开发者的原意是设计
但经过适当包装后,发现它在功能

    传统 BSD 风格的
容易就被各种网络攻击手段
再而三地警告系统管理者,
闭。
r 系列指令(如 rcp,rsh,rlo
所破解,几乎所有找得到有关UN
留心r系列指令的设定,甚至要

gin)往往都被视为不安全的,很
IX安全的书或文件,都会一而再、
求系统管理者将r系列指令通通关

    而用来替代r系列指令的SSH,则
行极为安全的加密保护,同时也强化了对
Cryptography)中已发展出来的数种安全
Asymmetric Key Cryptography, One-wa
来加强对于身份验证与通讯内容的安全保
DES,DES,RC4-128,TSS,Blowfish 等
过 RSA 进行交换的。资料的加密可以对
来对抗DNS spoofing与IP routing spoof
在安全方面做了极大的强化,不但对通讯内容可以进
身份验证的安全机制,它应用了在密码学(
加密机制,如 Symmetric Key Cryptography,
y Hash Function,Random-number Generation等,
护。通讯时资料的加密有IDEA,three-key triple
数种多种安全加密算法可供选择,加密的key则是通
抗IP spoofing,RSA这种非对称性的加密机制则可用
ing,同时RSA也可以进行对主机身份的验证。
    其次,通过使用用
设置的"加密通道"可以跟常
安全保障。
SSH可以在本地主机和远程服务
见的Pop应用程序、X应用程序、

器之间设置"加密通道",并且这样
Linuxconf应用程序相结合,提供

    SSH的"加密通道"
在远程服务器上运行的某个
对本地端口的请求都被SSH
SSH服务器软件的时候"加密
是通过"端口转发"来实现的。你
服务的端口之间建立"加密通道"
加密并且转发到远程服务器的端
通道"才能工作。

发帖
2027
C币
-139378
威望
384
贡献值
1
银元
0
铜钱
4613
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13




SSH协议体系结构解读


来源:ChinaITLab


2002-12-30 20:52:00









  1、概念





  SSH的英文全称为Secur
Network Working Group所
和其他安全网络服务。如需
Security Corporation的网


e Shell,是IETF(Internet En
制定的一族协议,其目的是要在
要SSH的详细信息请参考www.ssh
站)和www.openssh.org(开放


gineering Task Force)的
非安全网络上提供安全的远程登录
.com(SSH Communications
源码的OpenSSH组织的网站)。





  





  2、基本框架





  SSH协议框架中最主要
SSH协议框架中还为许多高
用如下图1来表示:


的部分是三个协议:传输层协议
层的网络安全应用协议提供扩展


、用户认证协议和连接协议。同时
的支持。它们之间的层次关系可以





  





  图1 SSH协议的层次结构示意图





  





  在SSH的协议框架中,
数据机密性,信息完整性
则为服务器提供客户端的
隧道复用成若干个逻辑通道
立于SSH基本体系之外,并


传输层协议(The Transport La
等的支持;用户认证协议(The
身份鉴别;连接协议(The Conn
,提供给更高层的应用协议使用
依靠这个基本框架,通过连接协


yer Protocol)提供服务器认证,
User Authentication Protocol)
ection Protocol) 将加密的信息
;各种高层应用协议可以相对地独
议使用SSH的安全机制。





  





  3、主机密钥机制





  对于SSH这样以提供安全通讯为目标
由于SSH协议是面向互联网网络中主机之
机制。也就是说,SSH协议要求每一个使
,服务方通过对客户方主机密钥的认证之
钥,针对不同的密钥算法而拥有不同的密
的密钥。关于DSS算法,请参考[FIPS-186


的协议,其中必不可少的就是一套完备的密钥机制。
间的互访与信息交换,所以主机密钥成为基本的密钥
用本协议的主机都必须至少有一个自己的主机密钥对
后,才能允许其连接请求。一个主机可以使用多个密
钥,但是至少有一种是必备的,即通过DSS算法产生
]。





  SSH协议关于主机密钥认证的管理方案有两种,如下图2所示:





  





  图2 SSH主机密钥管理认证方案示意图





  





  每一个主机都必须有自己的主机密钥
和私有密钥。在实际应用过程中怎样使用
示,SSH协议框架中提出了两种方案。


,密钥可以有多对,每一对主机密钥对包括公开密钥
这些密钥,并依赖它们来实现安全特性呢?如上图所





  在第一种方案中,主机
用该主机的公开密钥来加密
认证,确定客户机的可靠身
主机B和主机C,此时,A成
候根据主机名来查找相应的
全地存储自己的私有密钥就


将自己的公用密钥分发给相关的
数据,主机则使用自己的私有密
份。在图2(a)中可以看到,用
为客户机,它必须事先配置主机
公开密钥。对于被访问主机(也
可以了。


客户机,客户机在访问主机时则使
钥来解密数据,从而实现主机密钥
户从主机A上发起操作,去访问,
B和主机C的公开密钥,在访问的时
就是服务器端)来说则只要保证安





  在第二种方案中,存在一个密钥认证
钥提交给认证中心,而任何作为客户机的
在这种模式下,客户机在访问服务器主机
能够正确地连接到目的主机上。


中心,所有系统中提供服务的主机都将自己的公开密
主机则只要保存一份认证中心的公开密钥就可以了。
之前,还必须向密钥认证中心请求认证,认证之后才





  很显然,第一种方式比
变更都必须在客户机上有所
对认证中心的要求很高,在
大麻烦,有谁能够什么都能
采用中心认证的方案是必要


较容易实现,但是客户机关于密
体现;第二种方式比较完美地解
互联网络上要实现这样的集中认
说了算呢?但是从长远的发展来
的。


钥的维护却是个麻烦事,因为每次
决管理维护问题,然而这样的模式
证,单单是权威机构的确定就是个
看,在企业应用和商业应用领域,





  另外,SSH协议框架中
访问免认证是指,在某客户
个公开密钥的拷贝,这样在



还允许对主机密钥的一个折中处
机第一次访问主机时,主机不检
以后的访问中则必须使用该密钥


理,那就是首次访问免认证。首次
查主机密钥,而向该客户都发放一
,否则会被认为非法而拒绝其访问





  





  4、字符集和数据类型





  SSH协议为了很好地支
处理。首先,SSH协议规定
些信息将被协议本身直接处
常情况下的统一字符集为IS
息本地化的应用,协议规定
大多数用来显示给用户的信
程序及其操作系统环境,因
来自由掌握。


持全世界范围的扩展应用,在字
,其内部算法标识、协议名字等
理,而且不会用来作为用户的显
O 10646标准下的UTF-8格式,详
了必须使用一个专门的域来记录
息,使用什么样的字符集主要取
而对此SSH协议框架中没有作硬


符集和信息本地化方面作了灵活的
必须采用US-ASCII字符集,因为这
示信息。其次,SSH协议指定了通
细请参考RFC-2279。另外,对于信
语言标记(Language Tag)。对于
决于用户的终端系统,也就是终端
性规定,而由具体实现协议的程序





  除了在字符、编码方面的灵活操作外
种方便实用的种类,包括字节类型、布尔
型、字符串类型、多精度整数类型以及名


,SSH协议框架中还对数据类型作了规定,提供了七
类型、无符号的32位整数类型、无符号的64位整数类
字表类型。下面分别解释说明之:





  





  (1)字节类型(byte)





  一个字节(byte)代表一个任意的8
据就用一个字节数组来表示,写成byte[n


字位值(octet)[RFC-1700]。有时候固定长度的数
]的形式,其中n是数组中的字节数量。





  





  (2)布尔类型(boolean)





  一个布尔值(boolean
表示“真”(TRUE)。所有
尔值存储0和1意外的数值。


)占用一个字节的存储空间。数
非零的数值必须被解释成“真”


值0表示“假”(FALSE),数值1
,但在实际应用程序中是不能给布





  





  (3)无符号的32位整数类型(unit32)





  一个32字位的无符号整
位在前,低位在后)。例如
际存储时就是03 CD F3 B9


型数值,由按照降序存储的四个
,有一个数值为63828921,它的
,具体存储结构的地址分配如图


字节构成(降序即网络字节序,高
十六进制表示为0x03CDF3B9,在实
3。





  





  图3 无符号32位整数类型的典型存储格式





  





  (4)无符号的64位整数类型(unit64)





  一个64字位的无符号整型数值,由按
整数类似,可以比照图3。


照降序存储的八个字节构成,其具体存储结构与32位





  (5)字符串类型(string)





  字符串类型就是任意长
符(null)和8位字符。字
是随后有多少个字节),un
不需要用空字符来表示结束


度的二进制序列。字符串中可以
符串的前四个字节是一个unit32
it32之后的零个或者多个字节的



包含任意的二进制数据,包括空字
数值,表示该字符串的长度(也就
数据就是字符串的值。字符串类型





  字符串也被用来存储文
示的文本信息则使用ISO-10
(null)。


本数据。这种情况下,内部名字
646 UTF-8编码。一般情况字符


使用US-ASCII字符,可能对用户显
串中不应当存储表示结束的空字符





  在图4中举例说明字符串“My ABC”的存储结构:





  





  图4 字符串类型的典型存储格式





  





  从图4中可以很明显地看出,字符串
字节数),即使没有任何字符的字符串也
存储方式类似。


类型所占用的长度为4个字节加上实际的字符个数(
要占用四个字节。这种结构与Pascal语言中的字符串





  (6)多精度整数类型(mpint)





  多精度的整数类型实际
分每个字节8位,高位在前
果恰巧一个正数的最高位是
,额外的前导字节如果数值
一个长度为零的字符串(st
的。其存储格式通过图5的


上是一个字符串,其数据部分采
,低位在后。如果是负数,其数
1时,它的数据部分必须加一个
为0或者255时就不能被包括在整
ring)。多精度整数在具体运算
若干示例来说明:


用二进制补码格式的整数,数据部
据部分的第一字节最高位为1。如
字节0x00作为前导。需要注意的是
数数值内。数值0则必须被存储成
时还是要遵循正常的整数运算法则





  





  图5 多精度整数类型的典型存储格式





  





  (7)名字表类型(name-list)





  名字表(name-list)是一个由一系
储方式上与字符串一样,名字表前四个字
目,类似于字符串类型),其后跟随着由
个名字则必须具有非零长度,而且不能包
上下文关系可以对名字表中的名字产生额
的算法标识,或者都是语言标记等。名字
的上下文关系。与字符串类型一样,无论
符作为结束。如下图6:


列以逗号分隔的名字组成的字符串(string)。在存
节是一个unit32型整数以表示其长度(随后的字节数
逗号分隔开的一系列名字,可以是0个或者多个。一
含逗号,因为逗号是名字之间的分隔符。在使用时,
外的限制,比如,一个名字表中的名字都必须是有效
表中名字是否与顺序相关,也要取决于该名字表所在
是单个的名字,还是整个名字表,都不需要使用空字





  





  图6 名字表的典型存储格式





  





  SSH协议框架中拥有对


这些数据类型的支持,将对协议


、算法的处理带来极大的便利。





  5、命名规则及消息编码





  SSH协议在使用到特定
法和其他协议时都利用名字
定。无论是SSH协议框架中
算法或者协议,都必须遵循


的哈希算法,加密算法,完整性
来区分,所以SSH协议框架中很
所必备的算法或者协议,还是今
一个统一的命名规则。


算法,压缩算法,以及密钥交换算
重要的一个部分就是命名规则的限
后具体应用实现SSH协议时增加的





  SSH协议框架对命名规则有一个基本
、可打印US-ASCII字符串;名字必须是大


原则:所有算法标识符必须是不超过64个字符的非空
小写敏感的。





  具体的算法命名有两种格式:





  (1)不包含@符号的名
sha-1”,“hmac-sha1”,
,这种格式的名字是不能使


字都是为IETF标准(RFC文档)
“zlib”(注意:引号不是名字
用的。当然IETF的所有注册的名


保留的。比如,“3des-cbc”,“
的一部分)。在没有事先注册之前
字中也不能包含@符号或者逗号。





  (2)任何人都可以使用“name@doma
mycipher-cbc@ssh.com”。在@符号之前
@符号和逗号之外的US-ASCII字符。在@符
(参考[RFC-1034]),个人域名和组织域
负责的。


inname”的格式命名自定义的算法,比如“
部分的具体格式没有限定,不过这部分中必须使用除
号之后的部分则必须是一个完全合法的Internet域名
名均可。至于局部名字空间的管理则是由各个域自行





  SSH协议框架中另一个主要的标准化规则就是消息编码,基本规定在表1中详述:





  





  表1 SSH协议框架中的编码范围原则





  





  6、SSH协议的可扩展能力





  SSH协议框架中设计了大量可扩展的
则、高层扩展功能性应用协议等,在本文
IANA(Internet Assigned Numbers Auth
规则和消息编码方面。关于IANA的标准及
http://www.iana.org

离线coolmate.
发帖
2171
C币
-604506
威望
405
贡献值
4
银元
-2
铜钱
4916
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
说这段内容有论坛禁止发表的词汇或内容!

所有附件之..

rar文件..
ssh.gif (11.16 KB)
下载次数:11
2005-09-27 16:15



离线chaoran898.
发帖
2053
C币
-60843
威望
358
贡献值
1
银元
0
铜钱
4539
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
请斑竹帮忙删贴..


faint的很..

居然说这段内容有论坛禁止发表的词汇或内容!
又不让传附件!

我觉得这篇文章说的比较深入..

附上URL..
http://www.cnpaf.net/forum/read.php?fid=5&tid=891&toread=1
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个