1、毕业论文论文题目SSH加密技术研究和实现内容摘要随着计算机网络的发展,其开放性,共享性,互连程度扩大,网络的重要性和对社会的影响也越来越大,在计算机上处理业务已由单机处理功能发展到面向内部局域网、全球互联网的世界范围内的信息共享和业务处理功能,在信息处理能力提高的同时,基于网络连接的安全问题也日益突出。本文从网络安全的重要性、计算机网络安全、SSH加密技术三个方面研究,探讨了使用SSH是一种介于传输层和应用层之间的加密隧道协议,可以在本地主机和远程服务器之间设置“加密隧道”,并且这样设置的“加密隧道”,可以跟常见的FTP,SMTP,POP应用程序,X应用程序相结和,目的是要在非安全的网络上提供
2、安全的远程登陆和相应的网络安全服务。虽然SSH还有其不足之处,但相对于VPN和专业防火墙的复杂性和费用来说,也不失为一种可行的网络安全解决方案,尤其适合中小企业部署应用。关键词计算机网络网络安全SSH加密技术加密隧道目录1网络安全的重要性111网络安全的定义12计算机网络安全321影响网络安全的主要因素322计算机网络安全323计算机网络安全的实现3231防火墙技术3232数据加密技术4233杀毒软件4234入侵检测技术4235网络安全扫描技术53SSH加密技术631什么是SSH加密技术632SSH的应用场景6321应用一使用SCP命令远程拷贝文件6322应用二使用SSH设置“加密通道”733
3、SSH加密技术优点834SSH的安全验证是如何工作的835SSH协议的内容936SSH的密钥管理937SSH协议框架1038SSH分为两部分客户端部分和服务端部分10参考文献12致谢131SSH加密技术研究和实现随着计算机网络的发展,其开放性,共享性,互连程度扩大,网络的重要性和对社会的影响也越来越大,在计算机上处理业务已由单机处理功能发展到面向内部局域网、全球互联网的世界范围内的信息共享和业务处理功能,在信息处理能力提高的同时,基于网络连接的安全问题也日益突出。1网络安全的重要性11网络安全的定义国际标准化组织(ISO)将“计算机安全”定义为“为数据处理系统建立和采取的技术和管理的安全保护,
4、保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄漏”,上述计算机安全的定义包含物理安全和逻辑安全两方面的内容,其逻辑安全的内容可理解为我们常说的信息安全,是指对信息的保密性、完整性和可用性的保护,而网络安全性的含义是信息安全的引申,即网络安全是对网络信息保密性、完整性和可用性的保护。据不完全统INTERNET现在遍及186个国家,容纳近60万个网络,提供了包括600个大型联网图书馆,400个联网的学术文献库,2000种网上杂志,900种网上新闻报纸,50多万个WEB网站在内的多种服务,总共近100万个信息源为世界各地的网民提供大量信息资源交流和共享的空间。信息的应用也从原来的军
5、事、科技、文化和商业渗透到当今社会的各个领域,在社会生产、生活中的作用日益显著。传播、共享和自增殖是信息的固有属性,与此同时,又要求信息的传播是可控的,共享是授权的,增殖是确认的。因此在任何情况下,信息的安全和可靠必须是保证的。INTERNET是一种开放和标准的面向所有用户的技术,其资源通过网络共享。资源共享和信息安全是一对矛盾自INTERNET问世以来,资源共享和信息安全一直作为一对矛盾体而存在着,计算机网络资源共享的进一步加强随之而来的信息安全问题也日益突出,各种计算机病毒和网上黑客(HACKERS)对INTERNET的攻击越来越激烈,许多网站遭受破坏的事例不胜枚举。在计算机上处理业务已由
6、单机处理功能发展到面向内部局域网、全球互联网的世界范围内的信息共享和业务处理功能。在信息处理能力提高的同时,基于网络连接的安全问题也日益突出。12网络的开放性带来的安全隐患众所周知,INTERNET是开放的,而开放的信息系统必然存在众多潜在的安全隐患,黑客和反黑客、破坏和反破坏的斗争仍将继续。在这样的斗争中,安全技术作为一个独特的领域越来越受到全球网络建设者的关注。为了解决这些安全问题,各种安全机制、策略和工具被研究和应用。然而,即使在使用了现有的安全工具和机制的情况下,网络的安全仍然存在很大隐患,这些安全隐患主要可以归结为以下几点(1)每一种安全机制都有一定的应用范围和应用环境防火墙是一种有
7、效的安全工具,它可以隐蔽内部网络结构,限制外部网络到内部网络的访问。但是对于内部网络之间的访问,防火墙往往是无能为力的。因此,对于内部2网络到内部网络之间的入侵行为和内外勾结的入侵行为,防火墙是很难发觉和防范的。(2)安全工具的使用受到人为因素的影响一个安全工具能不能实现期望的效果,在很大程度上取决于使用者,包括系统管理者和普通用户,不正当的设置就会产生不安全因素。例如,NT在进行合理的设置后可以达到C2级的安全性,但很少有人能够对NT本身的安全策略进行合理的设置。虽然在这方面,可以通过静态扫描工具来检测系统是否进行了合理的设置,但是这些扫描工具基本上也只是基于一种缺省的系统安全策略进行比较,
8、针对具体的应用环境和专门的应用需求就很难判断设置的正确性。(3)系统的后门是传统安全工具难于考虑到的地方防火墙很难考虑到这类安全问题,多数情况下这类入侵行为可以堂而皇之经过防火墙而很难被察觉。比如说,众所周知的ASP源码问题,这个问题在IIS服务器40以前一直存在,它是IIS服务的设计者留下的一个后门,任何人都可以使用浏览器从网络上方便地调出ASP程序的源码,从而可以收集系统信息,进而对系统进行攻击。对于这类入侵行为,防火墙是无法发觉的,因为对于防火墙来说,该入侵行为的访问过程和正常的WEB访问是相似的,唯一区别是入侵访问在请求链接中多加了一个后缀。(4)只要有程序,就可能存在BUG甚至连安全
9、工具本身也可能存在安全的漏洞。几乎每天都有新的BUG被发现和公布出来,程序设计者在修改已知的BUG的同时又可能使它产生了新的BUG。系统的BUG经常被黑客利用,而且这种攻击通常不会产生日志,几乎无据可查。比如说现在很多程序都存在内存溢出的BUG,现有的安全工具对于利用这些BUG的攻击几乎无法防范。(5)黑客的攻击手段在不断地更新,几乎每天都有不同系统安全问题出现然而安全工具的更新速度太慢,绝大多数情况需要人为的参与才能发现以前未知的安全问题,这就使得它们对新出现的安全问题总是反应太慢。当安全工具刚发现并努力更正某方面的安全问题时,其他的安全问题又出现了。因此,黑客总是可以使用先进的、安全工具不
10、知道的手段进行攻击。32计算机网络安全21影响网络安全的主要因素(1)武力威胁物理威胁只要包括偷窃和间谍行为。偷窃包括偷窃信息,偷窃设备和偷窃服务等内容;间谍行为则是是指为了获取有价值的信息而进行的不道德行为,通常用于商业目的,并已成为了当前网络安全的最大威胁之一。(2)系统漏洞所造成的威胁只要是由于不安全服务,服务器自身漏洞,安全系统没有被正确初始化等原因所造成的。(3)身份鉴别威胁主要是由口令圈套,口令被破解,口令算法考虑不全,口令编辑存在漏洞等方面所创造成的网络安全。(4)有害程序威胁有害程序威胁包括病毒,木马,代码炸弹,非法更新和下载等方面的威胁。22计算机网络安全计算机网络安全总共包
11、括了三个层次,即安全立法,安全管理和安全技术。(1)网络安全立法是通过发布相关网络活动的法令和禁令,明确网络系统人员和用户应履行的义务和权利,主要包括了宪法,数据保护法,保密法,计算机安全保护条例,计算机犯罪法等。(2)网络安全管理网络安全管理是网络管理的重要组成部分,是指以管理对象的安全为目标和任务所进行的各种管理活动,网络安全管理主要包括硬件资源的安全管理,信息资源的安全以及其他如鉴别管理,密钥管理和访问控制管理等方面的管理内容。(3)网络安全技术网络安全技术是计算机网络安全的重要保证,是设备,方法,工具以及环境,需求的综合,也是整个系统安全的物质技术基础,它通过一定的安全技术措施和管理手
12、段,以确保网络资源的可用性,保密性,完整性,可控制性和抗抵赖性,不会因为网络设施,网络服务,网络管理手段自然或者人为因素的危害,而导致网络中断,信息破坏或泄漏。23计算机网络安全的实现231防火墙技术从计算机网络安全技术的角度来看,防火墙是指强加于两个网络之间边界处,以保护内部网络免遭来自外部网络的威胁的系统或者系统组合。防火墙技术作为保护计算机网络安全的最常用的技术手段之一,当期全国约有三分之一的计算机是处于防火墙的保护下,防火墙在不危及到内部网络数据和其他资源的前提下,允许本地用户使用外部网络资源,并将外部未授权的用户屏蔽在内部网络之外,从而解决了因连接外部网络所带来的安全问题。防火墙技术
13、主要包括包过滤型防火墙,多宿主机防火墙等结构形式(1)包过滤型防火墙一般用于网络层,因此也称为IP过滤器或者网络层防火墙,它往往通过一台过滤器来实现对每个接收数据包的拒绝或允许的决定。具有处理数据包的速度较快,实现包过滤几乎不需要任何附加费用,对用户的应用方面是透明公开的等方面的优点。缺点则是维护较为困难、往往只能阻止一种类型的IP欺骗,随着过滤器数目的增加路由器的吞吐量随之下降。(2)多宿主机防火墙使用了多个网络接口的计算机系统,可以连接多个网络,实现4了多个网络之间的访问。优点是可以将保护的网络内部结构屏蔽,从而增强了网络的安全性,可用于实施较强的数据流监控、记录、报告和过滤等;缺点是会导
14、致访问的速度减慢,而且提供服务相对滞后,有些服务甚至无法提供。232数据加密技术随着当前通信技术的快速发展,用户对信息的安全处理、安全存储、安全传输的需要也越来越迫切,并受到了广泛关注,信息在网络传输的安全威胁是由于TCP/IP协议所固有的,因此数据加密技术成为了实现计算机网络安全技术的必然选择。网络信息数据加密的方式只要包括了链路加密、节点加密和端到端加密这三种方式。(1)链路加密在链路加密方式中,所有网络信息在被传输之前就进行加密,包括了控制信息和数据正文等都加密,在每个节点接收到报文后,需先进行解密以获得校验和路由信息,然后再通过差错检测、路由选择,并加密后传输到下一节点,链路加密在每一
15、个网路的节点中,网络信息都是以明文形式存在。(2)节点加密信息只需在节点处进行解密和加密,链路仍以明文形式传输。在节点处的加密和解密在节点中的一个安全模块中进行,均是以密文形式呈现。节点加密的方式要求路由和报文的信息都是以明文形式传输,因此不能够有效的防止攻击者分析通信类业务。(3)端到端加密这种方式允许数据从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,信息在被传输时到达终点之前不能进行解密,这种方式通常不允许对目的IP地址进行加密,以便于确定节点如何传输信息,因此也具有一定的脆弱性。按照加密密码的不同将现代密码技术分为对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)
16、。随着当前计算机网络的发展,数据加码技术成为了实现网络安全所采用了最常用也是最重要的手段之一,通过数据加密技术,在很大的程度上提供了网络信息传输的安全性,并保证了信息的机密性和完整性,还同时提供了用户的身份验证。233杀毒软件病毒式一种认为编制的具有破坏性的计算机程序,能通过自我复制和迅速传播,来破坏计算机相关软件的指令,从而改变、扰乱或者销毁用户存储的信息,造成无法挽回的损失。当前世界各国遭受计算机病毒攻击和感染的时间屡有发生,给网络安全带来的巨大的潜在威胁和破坏,杀毒软件是一种可以对当前已知的病毒、木马等对计算机有威胁的程序代码进行清除的有效程序工具,对当前网络安全的实现起到了重要的作用,
17、杀毒软件的主要功能和作用包括查毒、杀毒、防毒和数据信息的恢复。然而杀毒软件的病毒防治程序往往是在病毒出现之后才进行研制开发的,具有一定的滞后性和被动性。因此为了实现网络安全和计算机病毒的防治,还必须加强网络安全管理和结合其他相应的安茜技术。234入侵检测技术入侵检测技术也被称为网络实时监控技术,它通过对计算机网络的若干关键点收集信息,并对其进行分析,从而发现网络中是否存在着违反安全策略的行为和被攻击的迹象,入侵检测技术是网络防护的有力补充,并扩展了网络安全管理能力,提供了安全监护、攻击识别、审计等方面的作用。5235网络安全扫描技术网络安全扫描技术是为了方便系统管理员通过目标探测和网络扫描,能
18、及时了解到系统中所存在的安全漏洞,并采取相应的安全措施,以降低系统安全风险而发展起来的安全技术,安全扫描技术能够对主机操作系统、局域网、防火墙系统、系统服务等方面的安全漏洞进行漏洞进行扫描,也是当前被广泛应用的一种计算机网络安全技术。63SSH加密技术31什么是SSH加密技术SSHSECURESHELL是一种通用,功能强大的基于软件的网络安全解决方案,计算机每次向网络发送数据时,SSH都会自动对其进行加密。数据到达目的地时,SSH自动对加密数据进行解密。整个过程都是透明的。它使用了现代的安全加密算法。SSH协议出现之前,在网络设备管理上广泛应用的一种方式是TELNET。TELNET协议的优势在
19、于通过它可以远程地登录到网络设备上,对网络设备进行配置,为网络管理员异地管理网络设备提供了极大的方便。但是,TELNET协议存在三个致命的弱点(1)数据传输采用明文方式,传输的数据没有任何机密性可言。(2)认证机制脆弱。用户的认证信息在网络上以明文方式传输,很容易被窃听;TELNET只支持传统的密码认证方式,很容易被攻击。(3)客户端无法真正识别服务器的身份,攻击者很容易进行“伪服务器欺骗”。SSH协议正是为了克服TELNET协议存在的问题而诞生的。SSH的英文全称是SECURESHELL。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人“这种攻击方式就不可能实现了,而且也能够防止
20、DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替TELNET,又可以为FTP、POP、甚至PPP提供一个安全的“通道“。SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OPENSSH。OPENSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。SSH是由客户端和服务端的软件组成的。SSH安装容易、使用简单,而且比较常见,一般的UNIX系统、LINUX系统、FREEBSD系
21、统都附带有支持SSH的应用程序包。32SSH的应用场景321应用一使用SCP命令远程拷贝文件SSH提供了一些命令和SHELL用来登录远程服务器,在默认情况下其并不允许用户拷贝文件。但为了方便用户使用,它还是提供了一个“SCP”命令,用户可以使用该命令来进行文件的远程拷贝工作。假定用户想把本地计算机当前目录下的一个名为“SHARE”的文件拷贝到远程服务器WWWREMOTECOM上用户的家目录下。而且用户在远程服务器上的账号名为“SUPER”。可以用这个命令SCPSHARESUPERWWWFOOBARCOM把文件拷贝回来用这个命令SCPSUPERWWWREMOTECOMSHARE“SCP”调用SS
22、H进行登录,然后拷贝文件,最后调用SSH关闭这个连接如果在用户的“/SSH/CONFIG”文件中已经为WWWFOOBARCOM做了这样的配置HOSTFBCHOSTNAMEWWWREMOTECOM7USERSUPERFORWARDAGENTYES那么用户就可以用“FBC”来代替“BILBOWWWFOOBARCOM”,命令就简化为“SCPDUMBFBC”。“SCP”假定用户在远程主机上的家目录为用户的工作目录。如果用户使用相对目录就要相对于家目录。用“SCP”命令的“R”参数允许递归地拷贝目录。“SCP”也可以在两个不同的远程主机之间拷贝文件。在使用的过程中,有时候用户可能会试图进行如下操作用SS
23、H登录到WWWREMOTECOM上之后,输入命令“SCPLOCALMACHINESHARE”想用其把本地的“SHARE”文件拷贝到用户当前登录的远程服务器上。这时候用户会看到下面的出错信息SSHSECURECONNECTIONTOLOCALMACHINEREFUSED之所以会出现这样的出错信息是因为用户运行的是远程的“SCP”命令,该命令试图登录到在用户本地计算机上运行的SSH服务程序,而这样做是不允许的,除非用户的本地计算机也运行着SSH服务程序。322应用二使用SSH设置“加密通道”SSH的“加密通道”是通过“端口转发”来实现的。用户可以在本地端口(没有使用过的)和在远程服务器上运行的某个
24、服务的端口之间建立“加密通道”。所有对本地端口的请求都被SSH加密并且转发到远程服务器的端口。当然只有远程服务器上运行SSH服务器软件的时候“加密通道”才能工作。可以用下面命令检查一些远程服务器是否运行SSH服务TELNET远程主机的名字全称22如果收到这样的出错信息TELNETUNABLETOCONNECTTOREMOTEHOSTCONNECTIONREFUSED就说明远程服务器上没有运行SSH服务软件。端口转发使用如下的命令语法SSHF远程主机上的用户名L本地端口号远程主机的名字全称远程端口命令不仅可以转发多个端口,而且可以在“/SSH/CONFIG”文件中用“LOCALFORWARD”设
25、置经常使用的一些转发端口。(1)为POP加上“加密通道”可以使用POP协议从服务器上取EMAIL。为POP加上“加密通道”可以防止POP的密码被网络监听器(SNIFFER、TCPDUMP等软件)监听到。还有一个好处就是SSH的压缩方式可以让邮件传输得更快。假定用户在POPFOOBARCOM上有一个POP账号,用户的用户名是“BILBO”,用户的POP口令是“TOPSECRET”。用来建立SSH“加密通道”的命令是SSHFCBILBOPOPFOOBARCOML1234POPFOOBARCOM110SLEEP5(如果要测试,可以把“SLEEP”的值加到500)。运行这个命令之后会提示用户输入POP
26、口令BILBOPOPFOOBARCOMSPASSWORD输入口令之后就可以用“TELNET”连接到本地的转发端口了。TELNETLOCALHOST1234用户会收到远程MAIL服务器的“READY”消息。当8然,这个方法要求用户手工输入所有的POP命令,这是很不方便的。可以用FETCHMAIL(参考HOWTOCONFIGUREFETCHMAIL)。SECUREPOPVIASSHMINIHOWTO、MANFETCHMAIL和在“/USR/DOC/FETCHMAIL”目录下的FETCHMAIL的FAQ都提供了一些具体的例子。(2)为X加上“加密通道”如果用户打算在本地计算机上运行远程SSH服务器上
27、的X窗口系统程序,那么登录到远程的计算机上,创建一个名为“/SSH/ENVIRONMENT”的文件并加上这一行XAUTHORITY/HOME/REMOTEUSERNAME/XAUTHORITY比如启动一个X程序(XTERM)可以这个命令SSHFXLREMOTEUSERNAMEREMOTEMACHINEXTERM这将在远程运行XTERM这个程序。其他的X程序也是用相同的方法。(3)为LINUXCONF加上“加密通道”LINUXCONF是LINUX的配置工具,支持远程管理。使用LINUXCONF的命令为REMADMINEXECLINK_COMMANDLINUXCONFGUIPROTO如果用户想在两
28、台计算机之间用加密的方式传送信息,那么最好使用SSH。命令是REMADMINEXECSSHLACCOUNTLINUXCONFGUIPROTO这是一种非常有效的采行图形界面管理计算机的方式。这种方法需要在客户端安装LINUXCONF。其他的方法还有直接登录到服务器上用“X11FORWARDING”或字符界面运行LINUXCONF。33SSH加密技术优点(1)数据传输采用密文的方式,保证信息交互的机密性。(2)通信完整性,确保通信不会被修改。(3)认证,即发送者和接收者的身份证明。客户机和服务器双向认证。(4)授权,即对账号进行访问控制。(5)使用转发或隧道技术对其它基于TCP/IP的会话进行加密
29、。(6)除了传统的密码认证,SSH服务器还可以采用多种方式对用户进行认证(如安全性级别更高的公钥认证),提高了用户认证的强度。34SSH的安全验证是如何工作的从客户端来看,SSH提供两种级别的安全验证。第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器
30、发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(CHALLENGE)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第9二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。35SSH协议的内容SSH协议是建立在应用层和传输层基础上的安
31、全协议,它主要由以下三部分组成,共同实现SSH的安全保密机制。(1)传输层协议,它提供诸如认证、信任和完整性检验等安全措施,此外它还可以任意地提供数据压缩功能。通常情况下,这些传输层协议都建立在面向连接的TCP数据流之上。(2)用户认证协议层,用来实现服务器的跟客户端用户之间的身份认证,它运行在传输层协议之上。(3)连接协议层,分配多个加密通道至一些逻辑通道上,它运行在用户认证层协议之上。当安全的传输层连接建立之后,客户端将发送一个服务请求。当用户认证层连接建立之后将发送第二个服务请求。这就允许新定义的协议可以和以前的协议共存。连接协议提供可用作多种目的通道,为设置安全交互SHELL会话和传输
32、任意的TCP/IP端口和X11连接提供标准方法36SSH的密钥管理SSH的密钥管理主要包括两个方面生成公钥/私钥对以及公钥的分发,下面将对这两个密钥管理工作分别进行介绍。1生成用户自己的密钥对生成并分发用户自己的密钥有两个好处(1)可以防止“中间人”这种攻击方式。(2)可以只用一个口令就登录到所有用户想登录的服务器上。用下面的命令可以生成密钥SSHKEYGEN如果远程主机使用的是SSH2X就要用这个命令SSHKEYGEND在同一台主机上同时有SSH1和SSH2的密钥是没有问题的,因为密钥是保存为不同的文件的。SSHKEYGEN命令运行之后会显示下面的信息GENERATINGRSAKEYSKEY
33、GENERATIONCOMPLETEENTERFILEINWHICHTOSAVETHEKEY/HOME/USER/SSH/IDENTITY/此时按下回车键就行了CREATEDDIRECTORY/HOME/USER/SSHENTERPASSPHRASEEMPTYFORNOPASSPHRASE/输入的口令不会显示在屏幕上/重新输入一遍口令,如果忘记了口令就只能重新生成一次密钥了ENTERSAMEPASSPHRASEAGAIN10/保存用户的私人密钥和公用密钥YOURIDENTIFICATIONHASBEENSAVEDIN/HOME/USER/SSH/IDENTITYYOURPUBLICKEYHAS
34、BEENSAVEDIN/HOME/USER/SSH/IDENTITYPUBTHEKEYFINGERPRINTIS2ADC712F2784A2E4A11EA963E2FAA589USERLOCALMACHINE“SSHKEYGEND”做的是几乎同样的事,但是把一对密钥存为(默认情况下)“/HOME/USER/SSH/ID_DSA”(私人密钥)和“/HOME/USER/SSH/ID_DSAPUB”(公用密钥)。现在用户拥有一对密钥公用密钥要分发到所有用户想用SSH登录的远程主机上去;私人密钥要好好地保管防止别人知道私人密钥。用“LSL/SSH/IDENTITY”或“LSL/SSH/ID_DSA”所
35、显示的文件的访问权限必须是“RW”。2分发公用密钥在每一个用户需要用SSH连接的远程服务器上,用户要在自己的主目录下创建一个“SSH”的子目录,把用户的公用密钥“IDENTITYPUB”拷贝到这个目录下并把它重命名为“AUTHORIZED_KEYS”。然后执行CHMOD644SSH/AUTHORIZED_KEYS这一步是必不可少的。如果除了用户之外别人对“AUTHORIZED_KEYS”文件也有写的权限,SSH就不会工作。如果用户想从不同的计算机登录到远程主机,“AUTHORIZED_KEYS”文件也可以有多个公用密钥。在这种情况下,必须在新的计算机上重新生成一对密钥,然后把生成的“IDENT
36、IFYPUB”文件拷贝并粘贴到远程主机的“AUTHORIZED_KEYS”文件里。当然在新的计算机上用户必须有一个账号,而且密钥是用口令保护的。有一点很重要,就是当用户取消了这个账号之后,别忘了把这一对密钥删掉。37SSH协议框架协议框架中最主要的部分是三个协议传输层协议、用户认证协议、连接协议。同时SSH协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用如下来表示(1)传输层协议(THETRANSPORTLAYERPROTOCOL)提供服务器认证,数据机密性,信息完整性等的支持;(2)用户认证协议(THEUSERAUTHENTICATIONPROTOCOL)则为
37、服务器提供客户端的身份鉴别;(3)连接协议(THECONNECTIONPROTOCOL)将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用;各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制。38SSH分为两部分客户端部分和服务端部分服务端是一个守护进程DEMON,他在后台运行并响应来自客户端的连接请求。服务端一般是SSHD进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。客户端包含SSH程序以及像SCP(远程拷贝)、SLOGIN(远程登陆)、SFTP(安全文件传输)等其他的应用程序。他们
38、的工作机制大致是本地的客户端发送一个连接请求到11远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。刚才所讲的只是SSH连接的大致过程,SSH1X和SSH2X在连接协议上还有着一些差异。SSH被设计成为工作于自己的基础之上而不利用超级服务器INETD,虽然可以通过INETD上的TCPD来运行SSH进程,但是这完全没有必要。启动SSH服务器后,SSHD运行起来并在默认的22端口进行监听(你可以用PSWAUX|GREPSSHD来查看SSHD是否已经被正确的运行了)如果不是通过INETD启动的SSH,那么SSH就将一直等待连接请求。当请求到
39、来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。12参考文献秦雪丹开创现代计算机网络安全新时代J职业技术2008年第8期林东计算机网络安全J中国教育与教学研究20120606杨黎霞中国高新技术企业2008年第24期许江网络安全新思路J重庆工商大学学报自然科学版2004年06期赵毅高校办公自动化系统整体安全策略的研究J重庆工学院学报2005年11期李亚军朝阳宽带IP城域网的安全策略的研究与设计D吉林大学2006年郑迪颖基于动态模型的网络安全体系及其在大型企业的应用研究D同济大学2007年赵春,赵成栋,康建初LDAP在基于域的网络管理中应用的研究J计算机工程与应用2004年18
40、期沈明玉基于主动网络的分布式智能管理模型研究D合肥工业大学2007年朵琳基于SNMP的智能PCM网络管理系统的研究与实现D华北电力大学(北京)2004年13致谢本研究及论文是在我的指导教师的亲切关怀和悉心指导下完成的。从课题的选择到论文的最终完成,老师始终给予我细心的指导和不懈的支持。老师一丝不苟、严谨认真的治学态度,渊博深厚的学识见解以及正直无私、磊落大度的高尚人品,让我不但在学识方面受益匪浅,更明白了许多做人的道理,这是我以后学习工作的一笔宝贵的财富。我的每一点进步,每一滴成绩,都包含着恩师的心血。在此,谨献上我由衷的感谢和最诚挚的敬意。感谢学习期间教过我的所有的老师,我们的收获折射出您们的辛劳和智慧。感谢在一起愉快地度过大学生活的同学们,正是由于您们的鼓励和支持,我才能克服一个又一个困难和疑惑,直至本文的顺利完成。