配置SSH免密登录
ssh免密登录常用于hadoop的集群环境搭建
.ssh 文件夹下的文件功能解释:
1)known_hosts:记录 ssh 访问过计算机的公钥(public key)
2)id_rsa:生成的私钥
3)id_rsa.pub:生成的公钥
4)authorized_keys :存放授权过得无秘登录服务器公钥
一、手动配置
适用于较小的集群,常用于学习
1.生成公钥和私钥
在三台主机(hadoop01、hadoop02、hadoop03)上,分别输入以下命令:
[root@hadoop01 ~]$ ssh-keygen -t rsa
[root@hadoop02 ~]$ ssh-keygen -t rsa
[root@hadoop03 ~]$ ssh-keygen -t rsa
注:不要输入任何东西,直接敲三次回车
2.进入.ssh目录
// 进入.ssh目录下
cd ~/.ssh
3.拷贝公钥(在三台主机 上分别拷贝一份)
1)hadoop01
//拷贝公钥(拷贝时,要输入主机密码)
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
2)hadoop02
//拷贝公钥(拷贝时,要输入主机密码)
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
3)hadoop03
//拷贝公钥(拷贝时,要输入主机密码)
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
这样就配置好啦,下面就可以尝试登录其他主机了!
4.免密登录
//进入其他主机
ssh hadoop102
ssh hadoop103
ssh hadoop104
5.退出登录
//退出
exit
二、自动配置(脚本配置)
适用于大型集群、工业化集群的搭建
1.在hadoop01主机上,使用root用户打开/usr/local/bin目录
//打开bin目录
cd /usr/local/bin
2.创建auto-ssh-sshpass.sh脚本文件
//创建auto-ssh-sshpass.sh脚本文件
touch auto-ssh-sshpass.sh
3.赋予脚本执行权限
chmod -R 755 auto-ssh-sshpass.sh
4.编写脚本文件
//编写脚本文件
vim auto-ssh-sshpass.sh
添加内容
#!/bin/bash
user=`whoami`
passwd=“这里输入自己设置的对应用户密码”
#yum install -y sshpass
echo "开始配置免密登录......"
for((current=01; current<=03; current++));do
for((host=01; host<=03; host++));do
sshpass -p $passwd ssh -q -o StrictHostKeyChecking=no $user@hadoop$current "sshpass -p $passwd ssh-copy-id -o StrictHostKeyChecking=no $user@hadoop$host"
done
done
echo "恭喜, 免密登录配置完成!"
5.安装依赖
1)hadoop01
sudo yum install -y sshpass
2)hadoop02
sudo yum install -y sshpass
3)hadoop03
sudo yum install -y sshpass
6.生成公钥和私钥
1)hadoop01
ssh-keygen -t rsa
2)hadoop02
ssh-keygen -t rsa
3)hadoop03
ssh-keygen -t rsa
7.执行脚本
在hadoop01主机上执行脚本(只在hadoop01上执行)
auto-ssh-sshpass.sh
最后,ssh免密登录就配置好啦,下面可以尝试一下登录其他主机。
8.免密登录
//进入其他主机
ssh hadoop102
ssh hadoop103
ssh hadoop104
9.退出登录
//退出
exit
最后别忘记退出哦~
不然会重叠好几层,自己都不知道自己现在在那个主机上~~~以防出现问题,一定要记得退出哦!!!
版权声明:本文为Luxury_mao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。