背景:在hadoop的伪分布式下启动时,需要多次输入当前用户的密码,为了方便hadoop的启动所以需要设置本地免登录(同时也适用于避免登录别的服务器(后续会介绍))
1、查询是否安装SSH (该服务器叫h101)
命令:$>yum list installed | grep ssh
包括:openssh-server、openssh-clients、openssh 即可
2、查看隐藏文件中是否有 ".ssh"文件,命令:$>ls -al
备注:若存在请先删除:命令:$>rm -rf .ssh/
3、在client测(本机)生成公私密钥对
命令:$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
解析:-t rsa (使用rsa的加密方式) -P ‘’ (无密码登录) -f ~/.shh/id_rsa(设置创建目录)
进入.ssh文件内 会发现两个文件 id_rsa(私钥) id_rsa.pub(公钥)
4、将公钥(id_rsa.pub) 追加到当前目录文件(.ssh文件)的新建文件 authorized_keys 下
$>cat id_rsa.pub >> authorized_keys
5、测试
$>ssh localhost
直接登录进去不需要输入密码,说明本地的免登录配置成功
二、这是免登录别的服务器
本地:登录到另一台服务器 名称叫 s201(ip = 192.168.44.201 用户名=root),
备注;为了方便演示使用的均是虚拟机,所以ip的开头为192
1、首先同样按上面步骤查询时候有ssh
2、同样在s201上生成公私密钥对
3、然后将h101的公钥传递给s201服务器
传递命令:scp id_rsa.pub [email protected]:/root
查看h101是否传入
4、在s201服务器上 将该id_rsa.pub写入到.ssh文件夹的authorized_keys文件内
命令:$>cat id_rsa.pub >> .ssh/authorized_keys
5、在h101上测试链接s201
备注:如果不需要输入密码代表免登陆设置成功