SSH远程登录密钥验证授权机制

从客户端来看,SSH提供两种级别的安全验证
第一种级别(基于口令的安全验证)
这种级别是在你每次登陆的之后都需要你提供口令,也就是用户名和密码,这种方式很不安全,极容易是的中间不法分子冒充你想要连接的主机盗取你的口令,然后它再使用这个口令登录服务器
第二种级别(基于密匙的安全验证)
这种级别是我们要说的一种,他需要你生成一对公私钥对,把公钥给了你要连接的服务器,当你对这个服务器发出连接的时候,它会向你发送一个使用这个公钥加密的字符串,你使用私钥解密成功再把它发送回去,如果服务器验证两个字符串是一样的,这就说明它认可了你这个客户端,不会出现“中间人”盗取口令后,冒名登录
这里写图片描述

主机A要远程登录主机B

1 . 在主机A上生成一个公私钥对,并且把这个公私钥对放在/root/.shh/id_dsa目录中,因为当使用ssh时,ssh会默认去主机的这个目录下查找私钥

ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa

2 . 将主机A的公钥发送给主机B

scp -r /root/.shh/id_dsa.pub B:~/

3 . 将A的公钥添加到B的授权列表中

cat ~/id_dsa.pub >> ~/.shh/authorized_keys

到这里A与B之间就建立了ssh通信

4 . 当A通过ssh机制远程登录到B时

ssh root@B

5 .上面的命令执行后,B机器就会去查看它的授权列表是否有root@A的公钥
6 .如果有A的公钥,B就会随即生成一个字符串并用A的公钥对这个字符串
进行加密,然后发给A。
如果没有找到A的公钥,就会让你使用口令登录
7 .当你的A接收到B使用A的公钥加密的字符串后,就会使用私钥对其进行解密,解密后在这个字符串发送给B
8 .B会比对这两个字符串,如果一样说明,主机A是主机B认可的机器。不是非法机器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值