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