大道至简,知易行难
广阔天地,大有作为

SSH密码认证及密钥对认证原理

暴露在外网中的服务器会不断地遭到暴力破解SSH密码攻击,因此就有必要使用SSH密钥来登录并禁用使用用户名密码登录。
根据非对称加密的原理,与易被窃取的密码不同,SSH密钥对登陆方式几乎无法以暴力方式破解。我们可以将客户端公钥上传至SSH服务器,并利用具有对应私钥的客户端对该SSH服务器进行访问。当二者匹配时,SSH连接即可成功而不再需要输入用户名密码。当然,我们也可以对使用密码对私钥进行保护以额外提高安全性。

一、用户名密码验证方式

SSH使用用户名密码认证原理

SSH使用用户名密码认证原理

具体步骤为:
1)当客户端发起SSH连接请求时,服务器会把自己的公钥发送给用户;
2)用户首次登陆服务器时,会被提示是否信任该公钥(通过公钥的Finger Print);
3)若用户信任该公钥,则使用服务器发来的公钥对密码进行加密;
4)服务器用自己的私钥解密并验证用户名密码,若正确则用户登录成功;

二、基于密钥的登录方式

SSH使用密钥对认证原理

SSH使用密钥对认证原理

具体步骤为:
1)客户端使用工具生成一个密钥对;
2)将客户端生成的公钥拷贝到服务器;
3)当客户端发送登陆请求时会在本地的authorized_keys中查找对应用户是否存在公钥;
4)若存在对应用户的公钥则随机生成一个随机数并使用客户端拷贝过来的公钥进行加密,然后发送给客户端;
5)客户端得到服务器发来的加密随机数后使用私钥进行解密,然后将解密后的随机数发送给服务器;
6)服务器收到客户端发来的随机数后,与之前其生成的随机数进行对比,如果一致则认证成功;

参考资料:
1、https://www.cnblogs.com/hukey/p/6248468.html
2、https://www.cnblogs.com/chengtai/p/6618621.html
3、https://www.cnblogs.com/zhouhaibing/p/7679706.html

转载时请保留出处,违法转载追究到底:进城务工人员小梅 » SSH密码认证及密钥对认证原理

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址