ps:本SSH配置主要在CentOS设置,可能因Linux版本有所差异。
小编用SSH免密码配置Hadoop伪分布。
(1)在Master主机上设置
生成密钥对,执行如下命令:
#ssh-keygen -t rsa//注意ssh和-keygen直接没有空格
然后一直按【Enter】键,就会按照默认的选项将生成的密钥对保存在.ssh/id_rsa文件中。
(2)将id_rsa复制进authorized_keys中
进入.ssh目录
#cd ~/.ssh
复制文件
#cp id_rsa.pub authorized_keys
(3)修改SSH配置
#vim /etc/ssh/sshd_config
找到以下内容,将前面的#去掉
RSAAuthenticationyes
PubkeyAutenticationyes
AuthorizedkeysFile.ssh/authorized_keys //查看是否已经替换为authorized_keys
(4)重启下ssh服务
#systemctl restart sshd.service
(5)配置slave的无密码服务
在master主机上操作,执行如下命令:
//将公钥复制到所有slave机器上
//scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器ip:~/
#vim scp ~/.ssh/id_rsa.pub root@192.168.88.133:~/ //slave1
#vim scp ~/.ssh/id_rsa.pub root@192.168.88.134:~/ //slave2
之后切换到slave1(slave2操作相同)机器操作:
//从master传输过来的id_ras.pub在当前的根目录下,执行如下命令:
#cp id_ras.pub ~/.ssh/authorized_keys //将master的公钥复制给authorized
(6)修改SSH设置
#vim /etc/ssh/sshd_config
找到以下内容,将前面的#去掉
RSAAuthenticationyes
PubkeyAutenticationyes
AuthorizedkeysFile.ssh/authorized_keys //查看是否已经替换为authorized_keys
(7)重启下ssh服务
#systemctl restart sshd.service
(8)测试
在master主机上测试:
//ssh localhost
#ssh slave1
#ssh slave2
效果图: