目录
0 文章说明
文章内容主要来自网络,加上自己的修改,时间久远,无法找到来源,如有侵权请告知,马上删除.
1 基本概念
SSH是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议.通过使用SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题.
非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解.而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥.
2 SSH验证方式
2.1 用户名密码验证方式
(1)当客户端发起ssh请求,服务器会把自己的公钥发送给用户;
(2)用户会根据服务器发来的公钥对密码进行加密;
(3)加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功.
2.2 基于密钥的登录方式
(1)首先在客户端生成一对密钥(公钥、私钥);
(2)客户端将生成的公钥拷贝到需要访问的服务端机器上;
(3)当客户端再次发送一个连接请求,包括ip、用户名;
(4)服务端得到客户端的请求后,会到authorized_keys中查找,如果有相应的IP和用户,就会随机生成一个字符串,例如:qwer;
(5)服务端将使用客户端拷贝过来的公钥对随机字符串qwer进行加密,然后发送给客户端;
(6)得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;
(7)服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录.