平时工作基本都是用xshell直接连上服务器,但是这中间是通过什么协议,又是什么原理可能很多朋友就不太清楚了,下面针对下ssh方面做一个介绍和原理解析。
SSH(22端口)是Secure Shell Protocol的简写,由IETF网络工作小组.NETwork Working Group)制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普通采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
相比较于telnet,ssh可以更好的应对中间人攻击,更加安全,所以现在基本都是通过ssh协议去操作服务器的。
使用ssh主要有两种登录方式:
1、密码口令登录
像上面的方式就是基于密码口令验证去做登录的,通过密码进行登录,主要流程为:
1、客户端连接上服务器之后,服务器把自己的公钥传给客户端
2、客户端输入服务器密码通过公钥加密之后传给服务器
3、服务器根据自己的私钥解密登录密码,如果正确那么就让客户端登录
2、公钥登录密码口令登录
公钥登录相对会比较少,之所以用公钥登录是为了解决每次登录服务器都要输入密码的问题,这里比较流行使用RSA加密方案,主要流程包含:
1、客户端生成RSA公钥和私钥
2、客户端将自己的公钥存放到服务器
3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端
4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝
对于linux系统管理员,理解清ssh登录原理还是很有必要的,后面再介绍下怎么做服务器之间的ssh免密码登录了,感兴趣的朋友可以关注下!!