【Linux】免密登录

1、为什么要做免密登录?

hadoop完全分布式的集群的搭建,涉及到集群中各个机器之间的互访,因为Hadoop集群中各个机器间会相互地通过ssh访问,每次访问都输入密码是不现实的,所以要配置各个机器间的ssh是无密码登录的。

2、工作原理

1、Server A向Server B发送一个连接请求
2、Server B得到Server A的信息后,在本地的authorized_keys文件中查找A存放在B上的公钥,如果有响应的公钥,则随机生成一个字符串,并用Server A的公钥加密,接着发送给Server A。
3、Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给B。B用原来生成的字符串和A发送过来的字符串进行对比,如果一致,则允许免密登录。

3、生成公钥和私钥

1、在主机A上生成一对公钥和私钥

命令:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
系统会在对应的用户home目录下的.ssh目录里生成公钥私钥和私钥文件

2、将A的公钥放到B的~/.ssh/authorzied_keys中

node01] scp id_rsa.pub root@node02:/root/.ssh/node01.pub
		--node01的公钥拷贝到node02的.ssh文件中
node02] cat node01.pub >> authorized_keys
		--将node02的.ssh目录下的node01.pub的内容追加到authorized_keys中

3、在A主机上免密登录操作B主机

node01] ssh root@node02

你可能感兴趣的:(Linux,linux,免密登录)