hadoop2.5.2如何配置免密码登录
小编给大家分享一下hadoop2.5.2如何配置免密码登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
配置免登录
Ø创建或者修改密钥目录权限
假设本机的IP为"192.168.1.100",配置免登录的操作步骤如下:
1. 以hadoop用户登录各服务器。
2. 执行以下命令,修改".ssh 目录"权限。
chmod 755 ~/.ssh
说明:如果".ssh"目录不存在,请在/home/hadoop目录执行 mkdir ~/.ssh 命令创建。
a)若".ssh目录"不存在,创建".ssh目录"。
mkdir ~/.ssh
b)修改".ssh 目录"权限。
chmod 755 ~/.ssh
Ø 创建公钥和私钥(此操作在所有服务器完成后再进入下一步)
1. 以hadoop用户登录本机(假设本机的IP为"192.168.1.100")。
2. 执行以下命令,进入".ssh"目录。
cd /home/hadoop/.ssh
3. 执行以下命令后,如果提示,就一直按"Enter"键,直至生成公钥。
ssh-keygen -t rsa
如果创建公钥和私钥后(上图最下面部分),提示的用户名hadoop@后面不是本机别名(上图红色部分:如master),说明主机名称需要重新配置一次,然后记得重启,然后删除/.ssh目录下的公钥和私钥,重新生成,直到生成的密钥后缀是本机别名。
接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在验证前,需要做两件事儿。第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能),另一件事儿是用root用户设置"/etc/ssh/sshd_config"的内容。使其无密码登录有效。
1)修改文件"authorized_keys"
chmod 600 ~/.ssh/authorized_keys
2)设置SSH配置
用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
vi /etc/ssh/sshd_config
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
设置完之后记得重启SSH服务,才能使刚才设置有效。
service sshd restart
退出root登录,使用hadoop普通用户验证是否成功。
ssh localhost (主机名) [黄色部分为变量]
从上图中得知无密码登录本级已经设置完毕,接下来的事儿是把公钥复制所有的Slave机器上。
Ø (3)拷贝公钥到服务器(要登录上去的那台服务器slave)
使用下面的命令格式进行复制公钥:
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
例如:
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.101:~/
上面的命令是复制文件"id_rsa.pub"到服务器IP为"192.168.1.101"的用户为"hadoop"的"/home/hadoop/"下面。
下面就针对IP为"192.168.1.101"的Slave01.Hadoop的节点进行配置。
1)把Master.Hadoop上的公钥复制到Slave1.Hadoop上
从上图中我们得知,已经把文件"id_rsa.pub"传过去了,因为并没有建立起无密码连接,所以在连接时,仍然要提示输入输入Slave01.Hadoop服务器用户hadoop的密码。为了确保确实已经把文件传过去了,用SecureCRT登录Slave1.Hadoop:192.168.1.101服务器,查看"/home/hadoop/"下是否存在这个文件。
从上面得知我们已经成功把公钥复制过去了。
Ø追加到授权文件"authorized_keys">
1)把Master.Hadoop的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去。使用下面命令进行追加并修改"authorized_keys"文件权限:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2) 用root用户修改"/etc/ssh/sshd_config"
具体步骤参考前面Master.Hadoop的"设置SSH配置",具体分为两步:第1是修改配置文件;第2是重启SSH服务。[同理2)设置SSH配置 ]
3) 用Master.Hadoop使用SSH无密码登录Slave01.Hadoop
当前面的步骤设置完毕,就可以使用下面命令格式进行SSH无密码登录了。
ssh slave01[远程服务器IP]
从上图我们主要3个地方,第1个就是SSH无密码登录命令,第2、3个就是登录前后"@"后面的机器名变了,由"master"变为了"slave01",这就说明我们已经成功实现了SSH无密码登录了。
最后记得把"/home/hadoop/"目录下的"id_rsa.pub"文件删除掉。
rm -r ~/id_rsa.pub
到此为止,已经实现了从"master.Hadoop"到"slave01.Hadoop"SSH无密码登录,下面就是重复上面的步骤把剩余的两台(slave02.Hadoop和slave03.Hadoop)Slave服务器进行配置。这样,我们就完成了"配置Master无密码登录所有的Slave服务器"。
Ø 配置所有Slave无密码登录Master
和master无密码登录所有slave原理一样,就是把slave的公钥追加到master的".ssh"文件夹下的"authorized_keys"中,记得是追加(>>)。
为了说明情况,我们现在就以"slave01.Hadoop"无密码登录"master.Hadoop"为例,进行一遍操作,也算是巩固一下前面所学知识,剩余的"Slave2.Hadoop"和"Slave3.Hadoop"就按照这个示例进行就可以了。
首先创建"slave01.Hadoop"自己的公钥和私钥,并把自己的公钥追加到"authorized_keys"文件中。用到的命令如下:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
以上是"hadoop2.5.2如何配置免密码登录"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!