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

37次阅读
没有评论

丸趣 TV 小编给大家分享一下 hadoop2.5.2 如何配置免密码登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

配置免登录

Ø创建或者修改密钥目录权限

假设本机的 IP 为“192.168.1.100”,配置免登录的操作步骤如下: 

1. 以 hadoop 用户登录各服务器。 

2. 执行以下命令,修改“.ssh 目录”权限。 

    chmod 755 ~/.ssh  

说明:如果“.ssh”目录不存在,请在 /home/hadoop 目录执行 mkdir ~/.ssh 命令创建。

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

a) 若“.ssh 目录”不存在,创建”.ssh 目录”。

mkdir ~/.ssh 

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

b) 修改“.ssh 目录”权限。 

   chmod 755 ~/.ssh  

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

Ø 创建公钥和私钥(此操作在所有服务器完成后再进入下一步)

1. 以 hadoop 用户登录本机(假设本机的 IP 为“192.168.1.100”)。 

2. 执行以下命令,进入“.ssh”目录。 

 cd /home/hadoop/.ssh  

3. 执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。 

ssh-keygen -t rsa  

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

如果创建公钥和私钥后(上图最下面部分),提示的用户名 hadoop@后面不是本机别名(上图红色部分: 如 master),说明主机名称需要重新配置一次,然后记得重启,然后删除 /.ssh 目录下的公钥和私钥,重新生成, 直到生成的密钥后缀是本机别名。

接着在 Master 节点上做如下配置,把 id_rsa.pub 追加到授权的 key 里面去。

cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

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

在验证前,需要做两件事儿。第一件事儿是修改文件 authorized_keys 权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用 RSA 功能),另一件事儿是用 root 用户设置 /etc/ssh/sshd_config 的内容。使其无密码登录有效。

1)修改文件 authorized_keys  

chmod 600 ~/.ssh/authorized_keys

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

2)设置 SSH 配置  

用 root 用户登录服务器修改 SSH 配置文件 /etc/ssh/sshd_config 的下列内容。

vi  /etc/ssh/sshd_config

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

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

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

设置完之后记得重启 SSH 服务,才能使刚才设置有效。

service sshd restart

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

退出 root 登录,使用 hadoop 普通用户验证是否成功。

ssh localhost (主机名)   [黄色部分为变量]

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

从上图中得知无密码登录本级已经设置完毕,接下来的事儿是把公钥复制所有的 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 上

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

从上图中我们得知,已经把文件 id_rsa.pub 传过去了,因为并没有建立起无密码连接,所以在连接时,仍然要提示输入输入 Slave01.Hadoop 服务器用户 hadoop 的密码。为了确保确实已经把文件传过去了,用 SecureCRT 登录 Slave1.Hadoop:192.168.1.101 服务器,查看 /home/hadoop/ 下是否存在这个文件。

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

从上面得知我们已经成功把公钥复制过去了。

Ø追加到授权文件 authorized_keys

1) 把 Master.Hadoop 的公钥追加到 Slave1.Hadoop 的授权文件 authorized_keys 中去。使用下面命令进行追加并修改 authorized_keys 文件权限:

cat ~/id_rsa.pub ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

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

2) 用 root 用户修改 /etc/ssh/sshd_config

具体步骤参考前面 Master.Hadoop 的 设置 SSH 配置,具体分为两步:第 1 是修改配置文件;第 2 是重启 SSH 服务。[同理 2)设置 SSH 配置]

3) 用 Master.Hadoop 使用 SSH 无密码登录 Slave01.Hadoop 

当前面的步骤设置完毕,就可以使用下面命令格式进行 SSH 无密码登录了。

ssh slave01[远程服务器 IP]

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

从上图我们主要 3 个地方,第 1 个就是 SSH 无密码登录命令,第 2、3 个就是登录前后 @ 后面的机器名变了,由 master 变为了 slave01,这就说明我们已经成功实现了 SSH 无密码登录了。

最后记得把 /home/hadoop/ 目录下的 id_rsa.pub 文件删除掉。

rm –r ~/id_rsa.pub

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

到此为止,已经实现了从 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  

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

cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

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

以上是“hadoop2.5.2 如何配置免密码登录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!