SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)指定;在进行数据传输之前,SSH先对联机数据包通过加密技术处理,加密后在进行数据传输。确保了传递的数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普遍采用SSH协议来代替传统不安全的远程联机服务软件,如telnet(telnet 端口:23 非加密)等;
在默认状态下,SSH服务主要提供两个服务功能:一个是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
特别提醒:SSH客户端(ssh命令)还包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的。
小结:
1.SSH是安全的加密协议,用于远程连接Linux服务器
2.SSH默认端口为22,安全协议版本SSH2,除了2之外还有SSH1(漏洞)
3.SSH服务端主要包含两个服务功能SSH远程连接,SFTP服务
4.Linux SSH客户端包含ssh远程连接命令,已经远程拷贝scp命令等
[root@m01 ~]# rpm -aq openssh openssl
openssh-5.3p1-111.el6.x86_64 ##远程连接
openssl-1.0.1e-42.el6.x86_64 ##加密
另外,SSH2同时支持RSA和DSA密钥,但是SSH1仅支持RSA密钥。
SSH2.x
在SSH1.x的联机过程2中,当Server接受Client端的private key后,就不在针对该次联机的key pair进行效验。此时若有恶意黑客针对该联机的key pair对插入恶意的程序代码时,由于服务端不会再效验联机的正确性,因此可能会接收该程序代码,从而造成系统被黑掉的问题。
为了改正这个缺点,SSH version2 多加了一个确认联机正确性的Diffle-HEllman机制,在每次数据传输中,server都会以该机制检查数据的来源是否正确,这样,可以避免联机过程中被插入恶意程序代码的问题,也就是说,SSH version 2 是比较安全的。
由于SSH1协议本身存在较大安全问题,在当前的Centos5.x系统ssh服务端的配置,默认就是配置只支持SSH2的,我们只需要在ssh客户端连接时指定通过ssh2协议连接即可。