本科毕业设计--ssh加密技术研究及实现毕设论文

上传人:仙*** 文档编号:208394199 上传时间:2023-05-10 格式:DOC 页数:35 大小:184KB
收藏 版权申诉 举报 下载
本科毕业设计--ssh加密技术研究及实现毕设论文_第1页
第1页 / 共35页
本科毕业设计--ssh加密技术研究及实现毕设论文_第2页
第2页 / 共35页
本科毕业设计--ssh加密技术研究及实现毕设论文_第3页
第3页 / 共35页
资源描述:

《本科毕业设计--ssh加密技术研究及实现毕设论文》由会员分享,可在线阅读,更多相关《本科毕业设计--ssh加密技术研究及实现毕设论文(35页珍藏版)》请在装配图网上搜索。

1、河北司法警官职业学院毕 业 论 文论文题目: SSH加密技术研究及实现 11 内 容 摘 要本论文通过对当前一些SSH加密技术研究的分析,以及对SSH的考察,对网络数据传输过程的一些技术问题提出一些实用性的建议及实现。论文首先从SSH的整个发展现况与前景进行分析,提出了SSH加密技术需面对以及注意的几个问题,在客观地分析当前大多数的加密技术的优点以及缺点的过程中,提出了一些个人对于SSH加密技术的设想与建议。关键词SSH 加密技术 网络数据传输安全 程序设计1AbstractThis paper through the analysis of the current some SSH encr

2、yption technology research, and on the investigation to the SSH, for some technical problem in the process of network data transmission put forward some practical Suggestions and implement. Paper first from SSHs whole development present situation and prospect analysis, put forward SSH encryption te

3、chnology must face and pay attention to several problems, the objective analysis of the current most of the encryption process, the advantages and disadvantages of put forward some personal ideas to SSH encryption and the suggestionKey words: SSH Encryption technology Network data transmission secur

4、ity The program design 14目 录1.绪论11.1.研究背景和意义11.2研究目标和主要内容11.2.1研究目标11.2.2主要内容11.2.对称密钥密码体质:21.3.非对称密钥密码体制21.3.1.RSA算法21.3.2.DSA算法32.安全SSH的工作原理42.1.SSH的应用范围42.1.1.特点及适用范围42.2.SSH的认证和加密方式:42.2.1.SSH的体系结构:42.2.2.SSH的工作模型(Client/Server):42.2.3.服务器端认证用户52.2.4.SSH的数据完整性53.SSH的安装和使用63.1.SSH的安装:63.2.服务器端SSH

5、D的使用和配置:63.2.1.安全Shell守护程序的使用63.3.客户程序SSH.SCP的使用和配置153.3.1.安全shell客户程序的使用15总 结28注释29参考文献30致 谢31271. 绪论1.1. 研究背景和意义随着计算机网络技术特别是Intennet技术的发展,网络安全问题日益受到人们的重视。21世纪全世界的计算机都通过Intennet连到一起,信息安全的内涵也就发生了根本的变化,它不仅从一般性的防卫变成了一种非常普通的防范,而且还从一种专门的领域变成了无处不在,当人类步入21世纪这一信息社会,网络社会的时候,网络数据传输加密技术受到各方面的重视及研究发展。传统的网络协议,如

6、FTP POP 和Telnet在传输机制和实现原理是没有考虑到安全机制的,基本质上都是不安全的;因为他们在网络上用文明来传数据 用账户和口令,别有用心的有人通过窃听 数据载流等网络攻击手段非常容易地就可以截获这些数据 用账户和口。而且,这些网络服务程序的简单安全验证方式也有其弱点,那就是很容易受到别人的攻击。服务器和登陆者之间的数据传送就被窃取和篡改就会出现很严重的问题。目前我国信息化建设大潮如火,我国政府机关 企业单位的内部网络结构。已由最初简单的办公电脑星状拓扑联接C/S B/S结构并向更高级的多层次分布式结构发展。SSH技术是近几年所出现的一种开源的安全协议,具有相当出色的可靠性。很多国

7、有大中型企业银行金融机构均采用基于该技术手段加强网络服务器的安全。SSH的广泛应用使各种服务应用免受攻击,网络数据传输有了更高的保证。1.2研究目标和主要内容1.2.1研究目标通过对网络数据传输的安全性的研究和分析,对SSH加密技术的工作原理研究及实现解决网络数据传输过程中一些不安全因素,便于使数据传输更加安全不被被窃取1.2.2主要内容 本文主要的目的是对SSH如何进行加密进行研究。首先通过研究SSH的工作原理及安装和使用以及研究的密钥学为了更好地了解SSH协议,这一章将介绍协议的算法知识、对称密钥体质、非对称密钥体质,HASH算法等基本概念。并对SSH协议中采用的算法,诸如:RSA、DSA

8、、DES3等进行介绍1.2. 对称密钥密码体质:对称密钥密码体质是一种比较传统的加密方式。他的特点是加密运算和解密运算使用的是同一个密钥,而且这个密钥是合法使用者秘密拥有的。因此对称密钥密码体制又可称为单密钥密码体制、秘密密钥密码体制。对称密钥密码体制算法一般对外是公开的起安全性主要依赖于密钥的秘密性。它在设计过程中加大了算法双核机的复杂度,并且设计长密钥进行加解密1.3. 非对称密钥密码体制 非对称密钥密码体制,与对称密钥密码体制最大的不同是非对称密钥密码体制使用的是有两个密钥组成的一对密钥。这对密钥分为公钥,私钥两个部分。公钥部分对外公开,而私钥部分则由秘密所有人自己保管。因此, 非对称密

9、钥密码体制又可称为公开密钥密码体制。非对称密钥密码体制的产生是密码学史上的一次根本性的变革与飞跃,大大地丰富了密码学的内容。非对称密钥密码体制的两个密钥分开管理的特点,解决了对称密钥密的通信环境中,密码体制中密钥分发和管理的问题。对于非对称密钥密码体制,早拥有n个用户的,n对密钥就能够满足所有用户之间的保密通信.弱有m供热用户加入到此通信环境中,则只需要增加m对新密钥即可满足需求而不会带来密钥管理的大变动。非对称密钥密码体制简单的密钥管理促进了密码学在现实生活中的应用。1.3.1. RSA算法RSA是目前应用最为广泛的一种非对称加密算法。由RonRivest、AdiShamir以及Leonar

10、dAdelman三位美国人共同的研究设计,RSA的工作原理主要是依据大整数因子分解问题。它的安全性由把一个大整数分解成两个大小差不多的素数的乘积的难度产生。有研究表明,对于一个常规512位密钥进行因式分解至少需要7个月的时间。这也就在说经由RSA公钥加密的消息,要通过已知公钥来破解私钥获得明文,一般情况下再消息的有效时间内是很难成功的,毕竟对于研究条件具备各种技术情况下,破解512位的的公钥都需要7个月时间,更何况RSA的公钥通常都是1024位,如果消息的保密性还高的话可以使用2048位,或者更多,这样RSA就利用了一个难以解决的数学问题。构建了一个安全性极高的公钥加密体制。首先,RSA是这样

11、进行设计公钥与私钥:1、 找到两个足够大的质数p和q:2、 球的z=p*q;3、 求得=(p-1)*(q-1);4、 寻找一个整数n,使得gcd(n,)=1;5、 寻找一个整数s,0s1;x为用户秘密密钥,想xq,x0;y为用户公开密钥,y=gkmod p;m为待签名数据;k为小于q的随机数。(不同的m签名时不同)。签名:r(签名)=(gkmod p)mod q;s(签名)=(k-1(H(m)+xr)mod q 。验证:w=s-1modq、u1=(H(m).w)mod q 、u2=(r.w)mod q ; v=(gu1.yu2)mod p)mod q。如果v=r,则验证成功。安全SSH的工作原

12、理1.4. SSH的应用范围1.4.1. 特点及适用范围SSH在端到端建立起一条安全会话的通道,包括使用公有密钥加密法进行用户和主机认证,和使用对称密钥进行数据加密。适用范围:防止包欺骗,IP/主机欺骗,密码截获,侦听,不适用的范围:侦听对特定端口的攻击,Dos攻击等。1.5. SSH的认证和加密方式:SSH的体系结构: 连接层用户认证层传输层 传输层:完成加密算法的协商,保证传输数据的致密性和完整性,在传送对称密钥的同时完成客户端对服务器端的认证。用户认证层:位于传输层之上,它在传输层保证数据致密性和完整性的情况下完成服务器方对用户方的认证。连接层:位于传输层和用户认证层之上,它负责连接通道

13、的分配和管理。如端口转发时虚通道的分配。1.5.1. SSH的工作模型(Client/Server):建立连接 1.5.2. 服务器端认证用户 认证的过程如上图所示:客户端用自己的私钥将一段明文加密,并将自己的公钥附在密文后面传给服务器,服务器端用公钥解密,如果成功,再将公钥送往公钥数据库或认证中心进行身份认证。客户端对服务器端进行认证和对称密钥传送过程如下:(1)客户端随机生成校验字节(2)将校验字节发送给服务器(可加密)(3)服务器依据一定算法从校验字节中抽取对称密钥(4)服务器将校验字节用私钥加密附在公钥上传回客户端(5)客户端解密后认证校验字是否为原始发送的校验字用对称密钥(会话密钥)

14、加密传输数据断开连接1.5.3. SSH的数据完整性SSH包格式验字节=摘要函数(数据,顺序号,会话密钥)如果发送方和接收方校验字节相同,说明数据未被改动。2. SSH的安装和使用2.1. SSH的安装:SSH1和SSH2基于不同的协议。SSH1基于SSH.1.2.26协议;SSH2基于SSH2.0.0协议,因此二者并不兼容。所以在选择版本时,要注意,你所连接或想要连接你的系统有什么版本你就应当选什么版本。2.2. 服务器端SSHD的使用和配置:-b bits #可以指定服务器密钥的比特数。隐含值为768bit,然而可以使它变得更大或更小,这取决于你是否从inetd启动守护或是否需要更强的安全

15、性。-d #调试模式。这和sshd1一样。安全shell守护被启动,但它并没有在后台运行也没有产生任何子进程。调试级别越高,你接受到的信息也越多。调试输出结果存放于系统的日志文件,而警报机制则将被关闭。该模式仅能被用于服务器的调试,而不是为了增加日志文件的长度。-f config-file #与sshd1一样,你可以指定一个特定的配置文件。隐含值为/etc/ssh2/sshd-lonfig,但如果你不是以超级用户的权限来运行安全shell,你就需要在其他地方定义这个文件。-g login_grale_time #与sshd1一样,它设置安全shell守护中的“警报”机制。它给客户程序一个确定的

16、时间,每到相应的时间间隔,客户将和服务器确认一次。隐含的时间为600秒(10分钟)。如果客户程序不确认,服务器进程将断开socket连接。你可以将它设置为0,这意味着对确认时间没有限制。如果你将安全守护设为调试模式,该选项将自动地设为零。-h host_key_file #与sshd1一样,它指定用于私有主机密钥的文件。如果你不是以超级用户的身份运行安全shell守护,你就必须使用该选项。正常情况下,私有的主机密钥文件是不可读的(超级用户除外)。但如果你以普通的用户身份运行安全shell守护,情况就不一样了。同样,如果你使用了替换文件,确信其权限已被设为400。-i #你可以指定是否从inet

17、d运行安全shell。与SSH1类似,你可以选择是否需要用TCP外包来运行安全shell守护程序或从inetd运行它。从inetd运行安全shell会带来一些问题,因为安全shell守护需要产生服务器客户,然后响应客户,而这将会产生潜在的问题。当服务器密钥重新产生时,客户程序为了得到一个正常长度或更为强壮的服务器密钥而不得不等待过长的时间。然而,你也可以使用一个小一点的服务器密钥以提高性能,不过要记住:密钥越小,系统越容易受到攻击。-o option #你可以指定用在配置文件中的选项,但命令行中的选项不能在这儿被指定。-p port #与sshd1类似。你可以指定服务器侦听socket的端口。

18、隐含值为端口22,它为安全shell所保留。记住这也是在/etc/services中定义的端口号,除非你已经改变了它。如果端口22已经被其他的应用程序使用或以非超级用户身份启动安全shell你可能希望定义一个替代的端口。-q #指定哑模式,这意味着系统日志接受不到任何信息。这同样与sshd1类似。通常情况下被发送的内容为连接的起始,用户的认证及连接的终止。除非你的系统日志总是很快就被填满,你最好不要打开这种模式。因为这样你可以检查是否有人非法地进入系统。-v #将安全shell守护置于详尽模式。这和将选项-d2给sshd效果是一样的。这同样意味着你不可能真正使sshd2的详尽模式运行,因为没有

19、产生任何子进程。注:sshd2中没有-k key_generation_time选项。服务器密钥每小时重新产生一次(1)在同一台主机上运行SSH1和SSH2守护程序出于兼容性的考虑,你可能想让系统与SSH1兼容。要做到这一点,你需要具备SSH1的最新版本(目前为1.2.27)以及SSH2的一份拷贝。必须同时运行两种守护程序从而能接受和发送这两种版本的安全shell客户的连接请求。如果没有这样做,你就不能发送或接受安全shell客户的连接请求。至于真正的兼容性,SSH1与SSH2之间并不存在。然而,你可以同时使用SSH1的最新版本与SSH2。如果连接请求来自SSH1客户,SSH2守护将会把连接转

20、寄到SSH1守护。但你不能连接SSH1客户与SSH2服务器,反之亦然。同样,如果你发现一个声称包长度有误的信息,检查一下,看看是否运行了一个SSH1的早期版本,要是这样,你就需要升级了。(2)一些例子这些选项并没有隐含地设置。安全shell守护的隐含设置是使用768-bit的服务器密钥,它每小时重新产生一次,认证超时限度则为10分钟,在端口22上侦听连接,在/etc/ssh2目录下寻找配置文件等。隐含情况下,安全shell守护以如下方式运行:# sshd下面的例子与第三章类似。你可以发现,在使用方法上它们仅有很小的差别。你也可以将这些选项赋上隐含值,这和隐含地执行命令有同样的效果。# sshd

21、 b 768 f /etc/ssh2/sshd_config g 600 h /etc/ssh2/ssh_host_key p 22你可以将安全shell的端口设置成高于1024:# sshd p 2022为不同的端口建不同的配置文件?没问题# sshd p 2022 f /etc/sshd_config_weird_port如果想通过inetd运行安全shell,你也可以做到这一点,不过别忘了将服务器密钥缩小一点。记住,你并不希望自己的密钥非常脆弱。同样,你也可能希望不是从命令行来完成该命令,而是在一个程序脚本上实现这一点:# sshd i b 512注:你应当编辑文件/etc/inetd.

22、conf,然后从中运行sshd。(3)从启动脚本中初始化安全shell运行安全shell的大多数的系统管理员希望它总是处于运行状态,并且也不希望每次都要启动它,就能使其运行。解决这个问题的一个简单的办法就是将其置于一个启动程序脚本中。这和第三章“安全shell守护程序sshd”中描述过的SSH1启动过程十分类似。下图显示了不同的操作系统中启动安全shell守护的位置。操作系统启动程序脚本Slackware Linux/etc/rc.dRed Hat Linux/etc/rc*.dSolaris/sbin/rc*.dHP-UX/sbin/rc*.dIrix/etc/rc*.dAIXDEC UNI

23、X(4)记录你的连接安全shell守护程序在隐含的情况下,记录初始的连接请求,认证及连接终止。既然代码是自由的,你会被欢迎来编辑并记录更多的信息。这来自Slackware Linux的日志文件/var/adm/message。当连接被建立以后,你的日志文件看上去像下面的内容:你也可以打开详尽日志或使用项关闭记录。你同样可以用-D PARANOID选项使用TCP外包程序来记录每一个socket。这有可能会复制安全shell守护程序的一些工作,也可以通过配置,使其能提供更为详尽的信息。记住你的记录存放位置与操作系统有关。Linux将信息存放于系统日志中,一般位于/var/adm/syslog,HP

24、-UX或AIX则有可能将信息存放于完全不同的地方。查阅你的操作系统使用手册以寻找记录文件的位置。(5)配置安全Shell安全shell有一个你可以定义选项的配置文件。有一些选项是不能在命令行中被设置的,但可以在配置文件中设置它们以使其工作。与大多数配置文件和shell程序脚本一样,空行和以“#”开头的行不会被系统读入。安全shell的隐含配置文件是/etc/sshd2/sshd_config。下面列出了你可以在sshd_config配置文件中为安全shell设置的选项。在/etc/sshd2/sshd_config文件中,定义这些选项的格式如下:OptionType Argument如果你有多

25、个参数,用空白行隔开它们。这种格式对下面列出的选项都通用1.允许的用户名与主机名可以通过安全shell2过滤用户名与主机名。这没有提供与SSH1一样多的过滤选项,但有一些还是很有用的,例如忽视rhosts文件和允许或禁止超级用户登录的权力。IgnoreRhosts #这是一个与sshd1同样的配置选项。它定义了.rhosts和.shosts是否被允许用来认证。该选项对系统端的文件/etc/hosts.equiv和/etc/shosts.equiv没有影响。选项的隐含值是“no”。如果你想使用的话,用.shosts来代替.rhosts从而提高安全性能。PermitRootLogin你可以定义超级

26、用户是否可以通过ssh2登录进来。隐含值是“yes”,但你可以将其关闭。记住这对超级用户经过FTP telnet或其他方式登录进来并没有影响。2.认证选项安全shell提供了不同的认证方法:口令、.rhosts和公共密钥。你既可以使用其中一种,也可以使用它们的组合以通过安全shell进入帐户。记住,rhost认证是最脆弱的认证系统,而和公共密钥的组合则会成为最强有力的认证形式。SSH2没有为TIS或dkerberos认证提供选项,至少在本书出版时尚未出现。PasswordGuesses #该选项指定用户正确地键入口令前最多登录企图,以进行口令认证。这个数字必须是一个整数,设置值越高,其他人窃取

27、口令的可能性也就越大,如果你仅允许口令认证的话。PasswordAuthentication #可以通过该选项决定是否利用口令以经过安全shell进入帐户。它和sshd1配置选项一样。隐含值为“yes”,口令被用来保护公共密钥而不是帐户自身。你可能选择关闭口令认证,但是最好在使用PubKeyAuthentication时使用。PermitEmptyPasswords #这个选项决定你是否想使用口令来帮助认证。它和sshd1的配置选项一样。可以允许空口令,然而,我们建议你最好不要这样做。如果某人进入你的主机,最起码还需要提供口令以进入系统。隐含值为“yes”。通常情况下应将它们设为“no”。RH

28、ostsAuthentication #该选项设置基于.rhosts或/etc/hosts.equiv的权限。它与sshd1配置文件中的选项RhostsAuthentication选项一致。这并不需要口令或公共密钥,但它使你的系统对伯克利服务攻击和其他迫使你必须使用安全shell的安全漏洞开放。隐含值是“no”,最好就保留这个值。如果你想使用Rhosts认证,就让它和RHostsPubKey -Authentication中的公共密钥认证结合起来使用。RHostsPubKeyAuthentication #在安全shell2的最新版本中并没有安装这个选项。它设置基于.rhosts或/etc/h

29、osts.equiv的公共密钥认证,与sshd1的配置文件RhostsRSA Authentication配置选项一致。认证不需要口令,但要求在远程端有DSA或RSA密钥认证。它同样使你的系统暴露于伯克利服务攻击,但公共密钥认证使危险性被最大限度地降低了。如果你让该选项取值“yes”(这也是隐含值),你就有必要为主机设置更为严格的登录要求。再说一句,如果你希望保持系统的安全,关闭任何类型的rhosts认证。PubKeyAuthentication #可以使用任意多种类型的认证,或正如所见,也可以单独使用一种类型的认证。比如说你就可以仅允许公共密钥认证工作。这和sshd1的RSAAuthenti

30、cation选项一致。它并不需要rhosts或口令来协助认证。隐含值为“yes”,你最好将选项保持在该状态。3服务器选项这些选项用来定义安全shell守护的功能,包括TCP转寄,对特殊地址与端口的侦听,发送存活信息及服务器密钥的设置等。Ciphers #可以指定准备用来加密的算法。目前系统支持的算法有DES,3DES,Blowfish, Twofish, IDEA和Arcfour。不可以为该选项指定其他的值:any,anystd和anycipher,在你调试和测试时,将选项置为none。Sshd1Path #如果你准备与SSH1兼容,就需要指定SSH1路径,尤其是当你将sshd1安装在一个非公

31、共目录下时。ForwardAgent #这个选项确定你是否能将安全shell认证代理(ssh-agent2)转寄到远程主机上。你既可以打开又可以关闭这个选项。KeepAlive #安全shell守护能通过设置来决定是否发生存活(Keepalive)信息。存活信息能让远程的服务器知道连接是否已经中断,并在确定连接中断的情况下杀掉活动进程。这和sshd1的配置文件中选项一致。当然,如果程序只是暂时地挂起,它会发出如下的令人沮丧的信息:Connection down:disconnecting这当然是令人厌烦的信息。但如果你不发送存活信息,会留下一些能够消耗掉资源的幽灵一般的程序。如果你要关闭存活信

32、息发送选项,必须同时修改服务器端与客户端的配置文件。使用方法:KeepAlive YesListenAddress #如果你正在运行一个多地址主机,可以指定你希望服务器侦听的地址。这和sshd1配置文件中的选项一致。如果你没有多个主IP接口的话,隐含值是你的主IP接口。使用方法:ListenAddress 1.2.3.4Port #可以通过该选项指定一个安全shell守护侦听的端口,隐含值为22。但在端口22已经被使用的情况下你可能会指定一个其他的端口。这和sshd1的配置选项一致,与-p选项也一样。使用方法:Port 21StrictModes #可以使服务器在建立登录连接之前检查用户主目录

33、的文件模式和属主。这与sshd1所拥有的选项一致,这是一个很好的选项,因为用户可能会意外地将目录与文件的选项置为可写。如果的确是这样,一定要将它们改正过来。隐含设置为“yes”。使用方法:StrictModes yesForwardX11 #这个选项确定是否允许X转寄通过安全shell守护。这和sshd1的X11Forwarding选项一致。与其它的TCP传输一样,这个选项在用户指定转寄时会被覆盖掉。这取决于你是否允许X传输通过。然而,如果你打算让X传输能传送到远端,最好让它们转寄到安全shell。隐含设置为“yes”。使用方法:ForwardX11 yes4.文件位置选项:这些选项定义安全s

34、hell守护密钥文件的存放位置。这包括密钥文件,进程标识文件等。AuthorizationFile #这个选项指定用户授权文件的名字。隐含值为/.ssh2/authorization,它提供了一个安全shell服务器识别用户的私有密钥列表。使用方法:HostKey $ HOME/.ssh2/ssh2_identityHostKeyFile #这个选项指定用来做私有主机密钥的文件,与sshd1的Host Key选项一致。如果你不是以超级用户的身份运行安全shell守护,你必须使用这个文件。正常情况下,除了对超级用户主机密钥文件是不可读的。隐含值为/etc/ssh2/hostkey。如果你使用了一

35、个替代文件,一定要将其属性设为400,这与-h选项一样。使用方法:Hostkey /usr/local/etc/ssh2_host_keyPublicHostKeyFile与HostKeyFile选项类似,该选项指定用来做公有主机密钥。使用方法:HostKey /usr/local/etc/ssh2_host_key.pubRandomSeedFile #该选项用来定义产生服务器密钥的随机生成文件。它和sshd1配置选项RandomSeed一致。隐含的文件位置为:/etc/ssh2/random_seed.使用方法:RandomSeed /usr/local/etc/ssh2_random_s

36、eed5.帐户活动选项这个选项定义经过安全shell登录到远程帐号时,影响帐号环境变量的那些设置。绝大部分设置发生于登录时使用的.profile或.cshrc之类的设置。但你也可以在安全shell守护配置文件中设置它们并使其发生作用。LoginGraceTime #该选项设置安全shell守护中的“警报”机制,与sshd1的配置选项效果相同。它给安全客户规定一个特定的时间,每经过该单位时间,安全客户将与服务器认证一次。隐含时间为600秒。如果安全客户不进行认证,服务进程将断开与socket的连接。可以将这个选项设为零,这将意味着对认证时间没有限制。如果你将安全shell置于调试模式,该选项将被

37、自动地置为零,可以发现,它的效果与-g选项类似。使用方法:LoginGraceTime 660PrintMotd #该选项决定用户帐号是否打印出存放于/etc/inetd中的系统每日信息。这与sshd1中的同名选项类似,仅应用于以交互方式登录时(不是以scp与ssh后随命令的方式)。选项的隐含值为“yes”。它可以在用户的环境初始化文件中设置。使用方法:PrintMotd no6登录选项 这些选项能够影响被送往日志文件的信息。既可以增加这些登录信息,但这会损害用户的隐私权,当然你也可以关闭它们,其结果是仅有极少的错误信息会被记录。Quiet Mode #该选项设置哑模式,这意味着将不会有任何信

38、息被送往系统日志文件。它与sshd1的同名选项类似。通常情况下被发送的内容是:连接起始标志,用户的认证和连接终止标志。除非你的日志文件总是很快就被填满,否则最好不要打开这个选项。定期审查登录的踪迹是一个好习惯,这样可以查看是否有人非法进入到你的系统。该选项与“-q”选项类似,隐含值为“no”。使用方法:QuietMode noVerbose Mode #在该模式下,sshd2将会打印出第2层的调试信息。记住在打开该模式的情况下sshd2守护程序将不会复制产生子进程。该选项与“-v”选项类似。使用方法:VerboseMode no尽管体现了安全shell 2的一些新的特征,安全文件传输服务器并没

39、有被很好地用文档加以说明。安全文件传输服务器由安全shell 2守护来运行,后者侦听端口22。从某种意义上说,它的工作机理和scp非常相像。它使用非安全应用程序(rcp或ftp)的代码,连接也通过端口22被转寄。因为更像一个客户程序。而非服务器程序,安全FTP将会在“安全shell 2客户ssh2, scp2和sftp2”中加以描述。2.3. 客户程序SSH.SCP的使用和配置2.3.1. 安全shell客户程序的使用安全shell客户程序,ssh2和scp2在命令选项上说明不同的语法规则。ssh2客户程序具有更多的选项,这是因为具有比单纯拷贝文件更多的功能。并由于scp2使用ssh2作为运输

40、工具,ssh2客户程序也需要为scp提供一些功能。为了所有这些意图和目标,ssh2具有很简单的语法:$ ssh2 选项主机名 命令注意:不必键入ssh2或scp2来运行任何一个安全shell2客户程序。在安装了ssh2应用程序之后,ssh和scp的符号连接会分别连接到ssh2和scp2。如果安装有ssh1和ssh2客户程序。你将需要运行ssh1和scp1来运行ssh1客户程序。 ssh2的命令行选项比ssh1命令行选项更丰富。你将发现ssh2有一些更多可供使用的功能,这包括允许认证代理,不允许压缩,设置调试等级和允许X转寄。注意:ssh2不存在-k Kerberos标签和-y远程端选项。-a

41、#该选项让你能够关闭对认证代理的转寄。这一点和ssh1客户相同。它阻止了加载到内存中的口令(passphrase)被用于安全Shell客户的发行。如果需要,你可以在每个主机的配置文件里指定该功能而不是在全局定义这种功能。+a #该选项允许认证代理进行转寄,这是缺省选项。-c cipher #这和在ssh中定义的选项相同,这是因为它被直接传送给ssh。这也和scp1使用的选项相同。你可以选择你想要的对称钥匙密码来加密网络传输。这不影响使用DSA或RSA公共密钥的认证。所选择的密码有IDEA,DES,3DES,Blowfish和Twofish。你也可以选择“none”,但该选择关闭加密从而使安全S

42、hell客户变得不安全。该“none”选项可以只用来调试和测试所要的目标,而不在实际中使用。最好的选择是使用3DES,IDEA或Blowfish。Blowfish和Twofish是ssh2支持的最快的算法。为了获得最高的安全性,使用IDEA。如果IDEA不同时被两台安全shell服务器支持,则使用3DES。+C #压缩通过安全shell客户发送的所有数据,这包括输入、输出、错误信息和转寄的数据。这和ssh的-c选项相同。不要把它们混淆。这使用gzip算法,并且压缩级别可以通过配置文件的CompressionLevel选项定义。这种压缩对速度慢的网络很有效,例如modem,但在速度已经很快的网络

43、上帮助不大。使用配置文件也可以允许为基于单个主机配置该选项。-C #该选项关闭压缩。请注意这和ssh1的选项作用是相反的。这也是ssh2的缺省选项。-d debug_level #这打印出所要的第几级的调试信息。数字越大,所得到的信息越多。该数字从0到99。记住-v选项打印出第三级的调试信息。-e escape_character #这定义转义字符。缺符为“n”。但可以设置为任何字符成控制字符。这也和ssh的选项相同。你也可以定义为“none”,这使用会话透明,但你可能想在连接悬挂起来时让它作为缺省值。为了能使用转义字符。键入转义字符,随后键入字点号,这就终止连接。如果你键入转义字符,随后键入

44、control+z,则把连接暂时挂起。-f #把ssh连接发送到后台。这和ssh1的选项相同。在认证完成并且TCP/IP转寄建立之后发生。在远程主机上启动X程序是不简单的。用户被提示输入口令(假设认证代理没有运行),接着连接被发送到后台。-F configuration_file #该选项指定使用哪个用户配置文件。缺省的配置文件为/.ssh2/ssh2_config。然而,你可以拥有自己的缺省配置文件和其它的配置文件。首先读入可选的文件,然后再加入缺省文件选项。-h #打印帮助命令摘要,然后退出。这不运行ssh2客户程序。-i identity_file #该选项定义DSA私人密钥,或认证所要

45、读取的身份文件,这和ssh2里的相同选项功能相似。缺省文件为$HOME/.ssh2/id_dsa1024_a。可以为不同主机定义多个文件。如果你的确定义了不同文件,可能想为每台主机分别命名这些文件(例如,id_dsa1024_a.thishost,id_dsa1024a.thathost)。-l login_name #该选项指定你在远程主机上登录的用户名。这个选项和ssh1的相同。缺省的用户名和本地主机的用户名相同,也可以在配置文件中按每台主机定义。这是很有用的选项,因为今天有些人通过不同的帐号使用着不同主机。-L port:host:hostport #该选项把指定port上的任意到本地主

46、机的连接转寄到远程主机的hostport上。这和ssh1中的选项相同,socket监听在本地主机上端口和何时建立到该端口的连接(例如,POP端口110),连接被转寄到安全通道,然后建立在hostport上的远程主机的连接。端口转寄也可能以通过配置文件按每个主机定义。对于特权端口,只有超级用户可以转寄。-n #该选项和-f选项的工作类似;然而,如果你需要键入口令时它将不起作用。这是ssh1具有的相同选项。标准输入被/dev/null重定向,在安全shell客户程序被发到后台时必须使用该选项。这通常用于脚本以及发送正在在远程主机上运行的X传输。和认证代理一起时使用该选项是很好的。-o option

47、 #该选项用于当没有定义命令行选项时,在配置文件中传送选项。这和ssh1中的选项相同。这包括StrictHostKeyCheckingUseRsh,在命令行中没有这些选项。这些选项和其它选项在后面的章节中阐述。该选项的格式和配置文件中的格式相同。-p port #可以指定客户连接到服务器的哪个端口,这和ssh1的选项相同。缺省端口22,是为安全shell保留的端口。记住除非另外指定在文件/etc/services中定义的端口是给服务器的。这可以在配置文件中以每台主机的方式指定端口。-p #指定使用大于1023的端口,这是一个非特权端口。这和ssh1的选项相同。你不能使用它来进行远程主机(rho

48、st)认证(无论是和公共密钥一起或它自身)。然而,这对通过不具有该选项配置的防火墙进行的连接很有用。-q #这是一个静态方式,指它不显示任何信息。这和ssh1使用的选项一样,通常适合于警告和诊断信息。如果使用该选项,在运行碰到认证或连接问题时,你将关闭该选项。-R port:host:hostport #这将从指定端口上的远程主机连接转寄到本地主机上的主机端口。这和ssh1的选项相同。这和L选项的工作相反。socket监听远程主机的端口,无论何时连到该端口的连接一旦建立,它将被转寄到本地主机和该主机端口。端口的转寄可以在配置中为每个主机单独指定。如果你使用了特权端口,只有在以超级用户在远程主机

49、上登录时才进行转寄。-S #这为安全shell客户指定不需要会话通道。这用在端口转寄请求和在tty不需要被设置使用(非交互模式)时。-t #该选项使安全shell客户工作在交互模式下。这和ssh1中使用的选项相同,它强制产生虚拟tty,即使给出了命令。这可以用在于远程主机上执行基于屏幕的程序。-V #该选项打印客户机版本并退出。它和ssh1中选项的作用相同。-v #冗余模式。使ssh产生打印关于程序运行的调试信息。这在调试连接,认证和配置时是很有用。这相当于在调试模式下以2级运行。它和ssh1中的选项完成相同的事情。-x #不允许X传输的转寄。这和ssh1中使用的选项相同。由于已知X是不安全的

50、,对过份追求安全的站点可能要使用该选项,该选项可以通过配置文件为每台主机单独指定。+x如果你想允许X传输被转寄,使用该选项。这恰好是ssh2的缺省选项。如果你需要在设置密码、定义身份文件、保留文件属性、设置端口、允许压缩、设置批处理方式以定义ssh2选项(因为scp2用ssh2作的传输载体)之间切换,有一些在scp1中没有出现的新选项。注意选项-a,-A,-B,-C,-i,-l,-o,-q和-Q在scp这种实现中不再存在。-l #使scp2运行scp1。这个(是1(一)而不是l(L)。这就与ssh1服务器好兼容,因此如果你打算运行该选项,可以和这个选项一起使用-t和-f选项,更多的关于scp1

51、的信息请参见第四章“安全客户程序SSH和SCP”。-c cipher #这和在ssh2中定义的选项相同,是因为它是被直接发送到ssh2的。这也和scp1使用的选项相同。可以选择你要用的对称钥匙密码来加密网络传输。这不影响使用DSA或RSA公共密钥的认证。你所要选择的密码有IDEA,DES,3DES,Blowfish,Arcfour和Twofish。你也可以选择“none”,但是这不允许任何的加密从而使得安全Shell客户变得不安全。该“none”选择应该只用于调试和测试目的,而不用于实际的应用中,最好的选择是使用3DES,IDEA或Blowfish。Blowfish和Twofish在支持ssh

52、2的算法中最快的。为了获得最好的安全特性,使用IDEA。如果不被对方的安全Shell服务器支持,使用3DES。-d #这是一种明智的检查,以确定拷贝目是目录。如果拷贝目的不是一个目录(也就是说例如它是一个文件0。scp2将给出错误信息,然后退出。-D debug_level_spel #该选项指定你接收的调试的数量。它和ssh2使用选项相同。-h #打印命令使用的总结,然后退出。它不运行scp2程序。-n #预览scp2所做的事,但是它不能拷贝任何文件,这是一种在进行正式拷贝之前确定你把正确文件拷贝到正确位置的很好方法。-p #保留从源主机拷贝过来文件的属性。这包括文件的更改时间,读取时间和从

53、原始文件过来的模式。该选项直接从rcp移植过来并和scp1中使用的选项相同。如果你工作在文件备份并想保证文件的完整性,你会发现该选项很有用。-p port #可以指定客户机连接到哪个端口上的服务器。这与scp1的命令行选项相同。缺省端口为端口22,该端口是为安全Shell保留的端口。记住除非另外指定该端口用于服务器的定义在/etc/services文件中。这是和ssh2不同的,因为rcp使用-p来保留文件属性。-r #递归拷贝全部目录和其中的文件。这将拷贝目录中的所有文件和子目录。这和scp1使用的选项相同,该选项直到版本2.0.13才被支持。-S path_ro_ssh2 #该选项指定到ss

54、h2的路径。这和scp1中用到的选项相类似。如果你把ssh安装在一个非标准目录中时,就要使用该选项。-u #该选项使用scp2更象使用安全的mv功能。在把源文件(和目录)拷贝到目的后,该选项将删除这些原文件(和目录)而不是保留住它们。要小心使用该选项。-v #冗余模式。产生scp2打印有关scp2进程的调试信息。它打印出第2级上的调试信息。这在调试连接,验证和配置问题时很有用。这和scp1中使用的选项相类似。(1)命令行选项如果需要在设置密码,定义端口和设置ssh2路径之间切换,这些选项将会有用。它也有两个调试选项,但只有在运行到出现问题时才会用到它们。由于sftp2是安全Shell的一个新的

55、应用程序,所以现在并没有很多的选项。-c cipher #这是和ssh中定义的选项相同的选项,是因为它直接被传送到ssh。此外,这和scp1使用的选项相同。你可以选择想用哪种对称钥匙密码来加密网络传输,不影响使用DSA或RSA公共密钥的认证。可选择的密码有IDEA,DES,3DES,Blowfish,Arcfour和Twofish。你也可以选择“none”,但是这将不允许任何加密从而导致安全Shell客户不安全。该“none”选项应该用于调试和测试目的,而不用于实际使用。DES和Arcfour是已知的两种不安全的密码,因此不要使用它们。你最好是使用3DES,IDEA或Blowfish。Blow

56、fish和Twofish是支持ssh2最快的算法。为要获得最佳的安全特性,使用IDEA。如果IDEA不被双方的安全Shell服务器支持,则使用3DES。-d debug_level_spec #该选项定义你接收的调试信息的数量。它和ssh2使用的选项相同。注意scp2使用-D,而sftp2使用-d。-p port #可以指定客户连接到哪个端口上的服务器。缺省为22号端口,该端口是为安全Shell保留的。记住除非另外指定用于服务器的该端口定义在文件/etc/services中。这可以在配置文件中接每台主机单独指定端口。注意该选项和ssh2中端口选择相同。-S path_to_ssh2 #该选项指

57、定到ssh2的路径。该选项和使用在scp2中的选项相同。如果你把ssh安装在一个非标准目录中时要使用该选项。-v #冗余模式。这类似所为安全Shell2的客户,它导致sftp2打印关于过程的调试信息。它打印出调试级为2的信息这对调试连接、认证和配置问题时有帮助,和用在scp1中的相同选项类似。(1)主机名选项可以通过一些配置选项来定义影响你连接到的远程主机的一些选项。所有这些选项适用于IP地址以及网络主机名。和ssh1不同,是没有ssh2的HostName配置选项。通过通配符,你可以过滤一段地址或通过整个域过滤。Host #它定义哪些主机受配置文件中配置选项的影响。这是与用在ssh1中相同的选

58、项。可以使用通配符(多字符“*”,单字符“?”,和在命令行中给出的主机名相同。使用方法:Host StrictHostKeyChecking #该选项是和在ssh1中实现相同的选项,但它现在不在SSH2 2.0.11版本中实现。它可以用来配置客户是否把主机密钥自动加到$HOME/.ssh2/know_hosts文件中还是提出主机密钥请求。如果你频繁地连接到不同主机(例如,假设你正从ISP使用一个shell帐号,并且你的连接获得动态分配的IP地址),这可能不是一个好主意。如果你正在设置运行于主机不会改变的开发环境上的安全Shell,你可能会把该选项设置为“no”。你的选择可以是“no”、“yes

59、”和“ask”。“ask”选项当你想往known_hosts文件中添加一台主机时产生提示。(2)认证安全Shell提供不同的认证方法:口令字,远程主机(rhost),公共密钥和TIS认证机制。你可以仅使用一个或使用它们的任意组合来通过安全Shell访问帐号。然而,得留心,远程主机认证是最脆弱的,任何与公共密钥对的组合都将是最强的认证形式。BatchMode:这是和用在ssh1中一样的配置,但是它现在对ssh2并没有执行,如果该项设置为有效,则它将关闭要求口令字的提示。如果你正使用安全Shell脚本或运行克龙或批处理作业,这是很好的。记住,它对具有正在进行认证代理而不是使用远程主机很有帮助。缺省

60、选项是“no”,你可选择“yes”和“no”。使用方法:BatchMode noPasswordAuthentication:可以定义是否要运用口令字来通过安全Shell访问帐号。这和使用在ssh1的选项一样。缺省为“yes”,从更通常的意义上来说口令字所要做的是保护私人密钥,而不是帐号本身。可以选择关闭口令字认证,但是最好还是让口令字认证打开,这是因为它保护着你的私人密钥和公共密钥。这和安全Shell监控程序的passwordAuthentication相似。使用方法:PasswordAuthentication YesPasswordPrompt:这指定口令字提示中是否包括远程主机名和用户

61、名。该选项把ssh1 中的PasswordPromptHostname和PasswordPromptLogin的两个选项合并成一个选项。变量%U和%H分别代表用户名和主机名。这仅对用户所见有影响,而不影响程序的实际运行。使用方法:PasswordPrompt%u passwordRHostsAuthentication:该选项设置认证是仅基于.rhosts的还是基于/etc/hosts.equiv的。这不需要口令字或公共密钥对。这和使用在ssh1中的RhostAuthentication选项相同,并且它把你的系统暴露在Berkeley服务的攻击之下,那是如所周知的,这也是你首先要使用安全Shell的原因。如果你果真想使用远程主机认证,则与RHostsPubkeyAuthentication中

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!