千家信息网

hadoop2.5.2如何配置免密码登录

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,小编给大家分享一下hadoop2.5.2如何配置免密码登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!配置免登录Ø创建或
千家信息网最后更新 2024年11月23日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如何配置免密码登录"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0