丸趣 TV 小编给大家分享一下 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 如何配置免密码登录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!