免密码ssh设置现在确认能否不输入口令就用ssh登录localhost: $ ssh localhost如果不输入口令就无法用ssh登陆localhost,执行下面的命令:1. 并修改hosts映射: 添加:(配置三台机器hosts,保证可以互相访问) $ vi /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.126.10 master.localdomain master 192.168.126.20 slave1.localdomain slave1 192.168.126.30 slave2.localdomain slave22. 生成三台机器的密钥和公钥 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa #生成秘钥和公钥 $ cat ~.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //把当前主机的公钥添加到authorized_keys文件 $ scp .ssh/id_rsa.pub root@192.168.126.10:/home/hadoop/.ssh/authorized_keys_slave1 //复制slave1公钥添加到authorized_keys_slave1文件 $ scp .ssh/id_rsa.pub root@192.168.126.10:/home/hadoop/.ssh/authorized_keys_slave2 //复制slave2公钥添加到authorized_keys_slave2文件3.把slave1和slave2的公钥追加到authorized_keys $ cat /home/hadoop/.ssh/authorized_keys_slave1 >> /home/hadoop/.ssh/authorized_keys $ cat /home/hadoop/.ssh/authorized_keys_slave2 >> /home/hadoop/.ssh/authorized_keys master配置 ################master################# $ cat id_rsa.pub >> authorized_keys $ cat authorized_keys_slave1 >> authorized_keys $ cat authorized_keys_slave2 >> authorized_keys $ chmod 644 authorized_keys//修改权限 ###################################### 4.把主机的公共密钥复制到slave1和slvae2 $ scp id_rsa.pub root@192.168.126.20:/home/hadoop/.ssh/authorized_keys_master $ scp id_rsa.pub root@192.168.126.30:/home/hadoop/.ssh/authorized_keys_master slave1配置 ##################slave1##################### cat id_rsa.pub >> authorized_keys cat authorized_keys_master >> authorized_keys chmod 644 authorized_keys ###################################### slave2配置 ##################slave2##################### cat id_rsa.pub >> authorized_keys cat authorized_keys_master >> authorized_keys chmod 644 authorized_keys #######################################
最后测试:
master主机访问slave1和slave2:
ssh 192.168.126.20 //回车,如果切换到slave1,则访问成功。slave3同理。