SSH(Secure Shell)为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠的,转为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效地防止远程管理过程中信息泄露问题。

常见的远程管理工具:

RDP(remote desktop protocal),Windows远程桌面管理(图形界面)

telenet CLI界面下的远程管理,几乎所有的操作系统都有,常用于远程控制Web服务器(明文传输)

ssh CLI界面下的远程管理,几乎所有的操作系统都有,防止DNS和IP欺骗(密文传输)

RFB(remote frame buffer)图形化远程管理协议VNC的协议。在Linux unix 下的图形界面远程管理工具

Telenet

1、Telenet是电信(Telecommunication)和网络(network)的缩写,是UNIX平台上最为熟知的网络协议。

2、Telenet使用的是23端口,他是专门为局域网设计的。

3、Telenet不是一种安全的通信协议,以明文的方式进行数据传输,所有任何人都可以嗅探数据包,并获取这个重要信息。

4、Telenet中没有使用任何验证策略和数据加密方法,这也是为什么telenet不能用于公共网络访问网络设备和服务器。

SSH

1、SSH代表安全外壳(secure shell),它是现在通过互联网访问网络设备和服务器的唯一主要协议。

2、SSH默认情况下通过22端口运行,可以更改。

3、SSH是安全的协议,以密文的方式进行数据传输,为通过互联网等不安全的网络数据提供了机密性和安全性。

4、SSH还是将公钥用于对服务器的用户验证身份,提高了极高的安全性。

SSH提供两种级别的安全认证:

(1)、基于口令的

只要通过自己的账号和口令,就可以登陆到远程主机。所传输的数据会被加密,但是不能保证你正在连接的服务器就是你想要的服务器,可能是别的服务器冒充的。

(2)、基于密钥的

①、非对称密钥加密系统 ,又称公钥密钥加密。它使用一对密钥,公钥和私钥。私钥只能有一方安全保管,不能外泄,而私钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密需要另一个密钥。公钥实现加密,私钥实现解密。

②、对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密。使用起来简单快捷,密钥较短,且破译困难。

SSH配置

ssh默认配置文件 /etc/ssh/ssh_config

# Host *          ---Host只对匹配后面字符串的计算机有效
#   ForwardAgent no        ---设置连接是否通过验证代理(如果存在)转发给远程计算机
#   ForwardX11 no           ---设置X11连接是否呗自动重定向到安全的通道和显示集
#   RhostsRSAAuthentication no    ---设置是否使用RSA算法的基于rhosts的安全验证
#   RSAAuthentication yes       ---设置是否适用RSA算法进行安全验证
#   PasswordAuthentication yes   ---是否使用口令验证
#   HostbasedAuthentication no    
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no           ---批处理模式,一般设为no
#   CheckHostIP yes          ---设置ssh是否查看连接到服务器的主机ip地址以防止DNS欺骗
#   AddressFamily any            ---ipv4和ipv6协议家族用哪个,any表示二者均有
#   ConnectTimeout 0
#   StrictHostKeyChecking ask   ---将计算机密钥加入到"$HOME/.ssh/known_host"文件,一旦计算机密钥发生改变,则拒绝连接
#   IdentityFile ~/.ssh/identity        ---读取用户的RSA安全验证标识
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22              ---监听端口,默认22,可更改
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc                         ---设置加密用的密钥
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~   
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h

一、ssh互信,免登陆

创建密钥对         [root@localhost ~]# ssh-keygen -t rsa

证书目录     /root/.ssh/id_rsa

公钥文件     /root/.ssh/id_rsa.pub

复制该公钥到对端的该目录下    

[root@localhost ~]# scp /root/.ssh/id_rsa.pub  root@192.168.220.131:/root/.ssh/authorized_key