SSH免密登录
1、免密登录配置步骤
第一步:master主机机生成私钥和公钥,生成方式如下:
[root@Hadoop-Master ~]#cd ~/.ssh
如果没有该目录,先执行一次
ssh localhost
不要手动创建,不然配置好还要输入密码。
执行如下命令
[hadoop@localhost ~]$ ssh-keygen -t rsa
一路狂按回车键就可以了, 最终生成(id_rsa,id_rsa.pub两个文件)。
第二步 将master生成的id_rsa.pub 复制一份并命名为authorized_keys
[root@localhost .ssh]# cat id_rsa.pub >>authorized_keys
说明 :cat file1 >> file2 将file1 的内容追加到file2中,并不覆盖file2 中的内容,如果file2不存在则创建一个文件。
第三步 在要连接的Slave1 和 Slave2机器上也生成公钥和私钥。并将slave1 和 slave2 机器中生成的公钥id_rsa.pub文件copy到Master机器上。
[root@localhost .ssh]# scp id_rsa.pub root@172.16.254.107:~/.ssh/id_rsa.pub_s1
[root@localhost .ssh]# scp id_rsa.pub root@172.16.254.107:~/.ssh/id_rsa.pub_s2
切换到Master机器上的Slave1、Slave2 的id_rsa.pub_s1 和id_rsa.pub_s2追加合并到authorized_keys文件中。
[root@Hadoop-Master .ssh]# cat id_rsa.pub_s1>> authorized_keys
[root@Hadoop-Master .ssh]# cat id_rsa.pub_s2>> authorized_keys
第五部 将master机器上合并后的authorized_keyscopy文件复制到Slave1、Slave2机器上
[root@Hadoop-Master.ssh]# scp authorized_keys root@172.16.254.108:~/.ssh/
[root@Hadoop-Master.ssh]# scp authorized_keys root@172.16.254.109:~/.ssh/
第六部
将master 、Slave1 、Slave2 等各台机器的 .ssh/文件夹权限改为700,authorized_keys文件权限改为600(or 644)。
[root@localhost .ssh]# chmod 700 ~/.ssh
[root@localhost .ssh]# chmod 600 ~/.ssh/authorized_keys
2、测试免密登录
[root@localhost .ssh]# ssh 172.16.254.108
Last login: Tue Apr 24 09:45:40 2018 from 124.42.103.1
[root@localhost ~]# exit;
登出
Connection to 172.16.254.108 closed.
[root@localhost .ssh]# ssh 172.16.254.109
Last login: Tue Apr 24 10:01:49 2018 from 172.16.254.107
[root@localhost ~]# exit;
登出
Connection to 172.16.254.109 closed.