ssh无密码登录

SSH:远程登录的安全外壳协议
有两种身份验证机制:
1、用户名+密码验验
2、密钥验证

本地使用私钥对数据进行加密/解密
服务器使用公钥对数据进行加密/解密

非对称加密算法:
1、使用公钥加密的数据,需要使用私钥解密
2、使用私钥加密的数据,需要使用公钥解密

ssh无密码登录就是通过密钥验证的方式来使Linux系统能互相登录,使得登录系统时能够免去密码这步繁琐的操作,同时使系统传送文件能够更便捷。

实现ssh无密码登录的原理便是通过公钥去与私钥进行匹配,比如:有两个用户A、B,用户B想要访问用户A,用户B则需要用户A的公钥A去与用户A的私钥进行匹配,若匹配成功便能访问。如图所示:

ssh无密码登录_第1张图片1、生成一对密钥:私钥与公钥
输入指令:ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
【说明:-t设置生成秘钥的算法,采用的rsa;-P设置密码,默认为空;-f设置秘钥生成的文件位置,~/.ssh】

会生成:id_rsa(私钥) id_rsa.pub(公钥)

在这里插入图片描述
2、生成一个认证库:用来存放公钥的
输入指令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
【将公钥id_rsa.pub追加进入认证库authorized_keys】

查看认证库:cat authorized_keys
在这里插入图片描述
3、修改认证库的权限为0600
输入指令:chmod 0600 ~/.ssh/authorized_keys

4、将公钥给另一个用户
【远程复制scp 公钥 给对方哪个用户crx@IP地址或域名:对方的路径】

为避免公钥覆盖私钥,将共要进行重命名
输入:scp id_rsa.pub chee@slave1:~/.ssh/id_rsa1.pub

5、切换到slave1的chee用户下
同时生成一对自己的公钥与私钥
chee用户同时也需要生成一个认证库,将传过来的公钥id_rsa1.pub追加进认证库
输入:cat ~/.ssh/id_rsa1.pub >> ~/.ssh/authorized_keys
ssh无密码登录_第2张图片
认证库里的公钥便是能够访问的必备条件

6、试验:ssh 192.168.4.167(或域名master)

在这里插入图片描述

你可能感兴趣的:(大数据)