linux运维笔记:ssh服务认证类型
从SSH客户端来看,SSH服务主要提供两种级别的安全验证,具体级别如下:
1-基于口令的安全验证:
基于口令的安全验证的方式就是大家现在一直在用的,只要知道服务器的SSH连接账号和口令(当然也要知道对应服务器的IP及开放的SSH端口,默认为22),就可以通过ssh客户端登录到远程主机。此时,联机过程中所有传输的数据都是加密的。
[root@nfs01 ~]# ssh -p 22 root@backup
root@backup's password: #要求输入登录密码
Last login: Sat Mar 11 14:00:15 2017 from nfs01
2-基于密钥的安全验证:
基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把公用密钥(Public key)放在需要访问的目标服务器上,另外,还需要把私有密钥(Private key)放到SSH的客户端。
此时,如果要想连接到这个带有公用密钥的SSH服务器,客户端SSH软件或客户端服务器就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行比较。如果两个密钥一致,SSH服务器就用公用密钥加密“质询”并把它发送给SSH客户端。
SSH客户端收到“质询”之后就可以用自己的私钥解密,再把它发送给SSH服务器。使用这种方式,需要知道联机用户的密钥文件。与第一种基于口令验证的方式相比,第二种方式不需要在网络上传送口令密码,所以安全性更高了,这时我们也要注意保护我们的密钥文件,特别是私钥文件,一旦被黑客获取,危险就很大了。
基于密钥的安全认证也有windows客户端和linux客户端的区别。
在这里我们主要介绍的是linux客户端和linux服务端之间的密钥认证。