目录:
一.Telnet和SSH
二.SSH验证原理详解
三.SSH配置选项详解
四.常见SSH问题实践
五.SSH密钥认证实现
六.SSH双机互信脚本实现
七.SSH相关扩展阅读
一.Telnet和SSH
1.Telnet Telnet是一个远程连接服务是一个C/S架构,具有Server端和Client端,Client通过telnet协议连接到服务器端,这是早期常用的远程连接方法.然后改方法进行连接的过程中使用的都是明文进行传输,在同一网络中的其他用户很容易通过网络工具捕捉到该数据包进行分析进而获取到密码.这是一个很不安全的连接方法.telnet协议使用的是23号端口是基于tcp的链接 2.SSH telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的***。所谓“中间人”的***方式, 就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题 SSH的英文全称是Secure Shell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种***方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。 SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。 最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。 OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。二.SSH验证原理详解SSH验证方式主要有以下两种: 1.基于口令的验证 2.基于密钥的验证三.SSH配置选项详解
SSH的配置文件主要分为服务器端和客户端:
其它选项:
四.常见SSH问题实践
1.SSH连接慢问题 SSH链接慢的问题很普遍,网上的解决方案也很多,基本上就是两个选项的问题.一个就是UseDNS,一个就是GSSAPIAuthentication,但是很多博文对着两个选项的讲解都是众说风云,且有很多不妥之处. 1.当UseDNS开启的时候你使用ip地址进行远程连接时没有任何影响的 只有当你使用域名进行连接的时候,需要进行域名解析这个时候是会慢的. 2.当开启GSSAPIAuthentication yes的时候,会对远程连接进行基于GSSAPI的认证,然后对于这个认证是是需要获取域名的,此时 当你使用ip地址进行连接的时候会对这个ip地址进行反向解析以获取域名,当你使用域名进行远程连接的时候,则需要进行正向解析 当你使用ip地址无法进行反向解析的时候会弹出 reverse mapping checking getaddrinfo for bogon failed - POSSIBLE BREAK-IN ATTEMPT! 此时我们只要关闭该选项顿时你就会觉得连接速度快了很多.相信对于上面的一番解释后,你会基于你的工作环境进行一个很好的设置,以提高你的远程连接速度. 2.scp命令实现阻断 偶然情况下发现一个可以阻断scp实现文件拷贝的方法,前提是可以正常进行ssh连接只要在服务器端的/etc/bashrc文件中加入echo "anystring" 即可(至于原理我只是萌萌珑珑有点懂,等搞懂了再奉上)五.SSH密钥认证实现1.生成密钥(客户端操作)
注: 这里使用ssh-keygen -t rsa -b 4096 -f /path/to/KEY_FILE -P '指定加密私钥的密码' 这样既可实现自动化,不要交互了
2.传送密钥至远程服务器有两种实现方式:
六.SSH双机互信脚本实现
七.SSH相关扩展阅读
SSH 安全性和配置入门http://www.ibm.com/developerworks/cn/aix/library/au-sshsecurity/SSH服务器配置文件详解 http://jiangym19860710.blog.163.com/blog/static/56153248201301211201826/man 5 sshd_configman ssh本文出自 “” 博客,请务必保留此出处