系列文章目录
Hadoop分布式环境配置(1)
Hadoop分布式环境配置(2)
Hadoop分布式环境配置(3)
Hadoop分布式环境配置(4)
Hadoop分布式环境配置(5)
前言
在 CentOS7 系统快速配置Hadoop,仅需配置主节点,配置完成后将Hadoop文件及jdk文件发送给从节点,即可完成分布式集群部署,本节主要介绍设置SSH免密登录。
SSH协议
SSH(Secure Shell),建立在应用层基础上的安全协议。SSH 是较可靠的,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH提供两种级别的安全验证方式:基于口令的安全验证和基于密钥的安全验证,我们接下来采用的是第二种方式。两种方式的区别:
- 基于口令的安全验证
知道账号和密码,即可远程登录主机,所有传输数据均会加密,但是不能保证当前正在连接的主机是否为目标主机,有可能是冒充真正的主机。 - 基于密钥的安全验证
需要依靠密匙,也就是必须为自己创建一对密匙,并把公用密匙放在需要访问的主机上。该方式不需要传送口令,因此可实现免密登录。
设置SSH免密登录
免密登录原理
A免密登录B (A -> B)
- A生成密钥对(私钥和公钥)
- A把公钥复制发送给B
- B把A的公钥放置到authorized_key认证文件中
- A向B发出登录请求
- B收到登录请求后从authorized_key认证文件中查找相应的用户名和IP地址,如果有,则B随机生成一个字符串,并用A的公钥加密,发送给A
- A收到B的加密信息后,A用私钥解密,并将解密后的字符串信息发送回给B
- B将收到的解密后的字符串与生成的字符串比对,如果一致,则允许登录
具体设置方法
-
删除所有主机上的 /root/.ssh/*
rm /root/.ssh/*
-
在当前主机(s201)上生成密钥对
ssh-keygen -t rsa # 或者 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-
将当前主机(s201)的公钥文件 id_rsa.pub 远程复制到其他主机上(s202~s204),放置在 /root/.ssh/authorized_keys
-
可先放置在其他位置(ps:/home/id_rsa.pub)
scp id_rsa.pub root@s202:/home/id_rsa.pub_s201 # 复制到s202 scp id_rsa.pub root@s203:/home/id_rsa.pub_s201 # 复制到s203 scp id_rsa.pub root@s204:/home/id_rsa.pub_s201 # 复制到s204
-
再添加到 authorized_keys 认证文件中
cat id_rsa.pub_s201 >> /root/.ssh/authorized_keys # 自己免密登录自己 cat id_rsa.pub_s202 >> /root/.ssh/authorized_keys # 免密登录s202 cat id_rsa.pub_s203 >> /root/.ssh/authorized_keys # 免密登录s203 cat id_rsa.pub_s204 >> /root/.ssh/authorized_keys # 免密登录s204
-
-
验证是否实现免密登录,使用ssh操作其他主机
-
登录
ssh s202 # 或者 ssh s202 ps -Af
-
返回
# 切换成功后返回 exit
-
查看端口
netstat -naop | grep 50010
-
总结
以上就是今天要讲的内容,本文仅仅简单介绍了SSH协议的工作原理,而Hadoop集群利用SSH协议可以减少密码操作,更加方便。