配置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 版权协议,转载请附上原文出处链接和本声明。
