开发者学堂课程【Linux服务器运维基本操作:SSH远程连接 - 基于用户名密码验证】学习笔记,与课程紧密联系,让用户快速学习知识.
课程地址:https://developer.aliyun.com/learning/course/581/detail/8004
SSH远程连接 - 基于用户名密码验证
内容介绍
一、 SSH(安全外壳协议)
二、用户名密码验证方式
一、 SSH(安全外壳协议)
SSH为Secure Shell 的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议,做安全性的保障和加密。
通过使用SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。要更深刻理解SSH就要知道知识点非对称加密。
非对称加密有一对密钥: 公钥私钥,公钥进行加密,私钥进行解密,反之不可。
就是说只要是同一对密钥生成的,公钥加密,私钥一定能进行解密,其他的私钥解密不了,反过来私钥加密的公钥也解密不了。
整个SSH来看是一个客户端加服务端的模式,从客户端来看,有两种验证方式基于密码和基于密钥。
SSH底层存在非对称加密。
二、用户名密码验证方式
(1)流程说明:
远程登陆基于用户名和密码的验证方式,如果不采用ssh协议的话那就会把用户名和密码之间通过对话窗口传输,如果被别人拦截的话者有账号隐私泄露风险,如果使用ssh就会是如下流程。
首先客户端会向服务端发起ssh请求,ssh服务端接收后,服务端会把自己的公钥发送给用户,前提是服务端提前生成好了公钥和私钥,客户端会根据服务端发来的公钥对密码进行加密,假如说这个时候有黑客进行拦截的话,拦截的信息也是公钥加密过的信息,破解不了,加密后的信息再回传给服务端,服务端用自己的私钥解密,如果解密过后用户名和密码与本地做一个验证发现一致,则密码正确,允许用户登录,如果验证不成功者登录是失败的。
这样就完成了一个基于ssh用户名和密码的登录,在这个过程中信息是安全的,不被拦截。
演示:
通过SesureCRT远程连接到linux经历流程。进入not connected-SesureCRT, 这里远程有一个虚拟机node1,IP为192.168.158.121,点击右上角Quick Connect进行快速链接,
首先ssh中连接机名192.168.158.121,Username:root,端口为22,点击connect进行连接就相当于流程图的第一步客户端向服务端发起ssh请求。
连接起后服务端收到请求,进行回传信息,就是第二步服务端发送公钥给客户端,这时需要点击Accept & Save做一个保存。之后第三步通过公钥加密的方式,回传给服务端,用户为root,密码是之前输入的,勾选保存密码,
那这时点击OK有两种情况,一种服务端解密成功,密码正确,就允许登录,如果错误就不允许登录。