CentOs7.3 Hadoop 用户 ssh 免密登录
时间:2022-04-28
本文章向大家介绍CentOs7.3 Hadoop 用户 ssh 免密登录,主要内容包括环境、1.修改主机名、2.修改映射关系、3.启动 ssh 无密登录、4.生成公钥、私钥、6.验证 ssh 无密登录、Contact、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
环境
三台虚拟机(IP):
- 192.168.252.121
- 192.168.252.122
- 192.168.252.123
1.修改主机名
修改三台主机名,以此类推,node1,node3,node3
命令格式
hostnamectl set-hostname <hostname>
sudo hostnamectl set-hostname node1
剩下的虚拟机依次修改hostnamectl set-hostname[1-3]
重启操作系统
$ reboot
2.修改映射关系
1.在 node1 的 /etc/hosts
文件下添加如下内容
su root
vi /etc/hosts
2.查看修改后的/etc/hosts
文件内容
$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 以下是添加的
192.168.252.121 node1
192.168.252.122 node2
192.168.252.123 node3
2.将集群node1 上的文件hosts
文件 通过 scp
命令复制发送到集群的每一个节点
for a in {1..3} ; do scp /etc/hosts node$a:/etc/hosts ; done
3.检查是否集群每一个节点的 hosts
文件都已经修改过来了
for a in {1..3} ; do ssh node$a cat /etc/hosts ; done
3.启动 ssh 无密登录
1.在集群node1的 /etc/ssh/sshd_config
文件去掉以下选项的注释
vi /etc/ssh/sshd_config
RSAAuthentication yes #开启私钥验证
PubkeyAuthentication yes #开启公钥验证
2.将集群node1 修改后的 /etc/ssh/sshd_config
通过 scp
命令复制发送到集群的每一个节点
for a in {1..3} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done
4.生成公钥、私钥
1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P ''
,生成 key,一律回车
su hadoop
ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
aa:be:0e:46:9a:e8:d5:dc:79:ea:5a:b8:9b:08:e2:dd hadoop@node2
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| . S |
|.+ o o.. |
|=.o. +.+ . |
|+.+.o.+ o |
| o ==E+o |
+-----------------+
2.在集群的node1 节点输入命令
将集群每一个节点的公钥id_rsa.pub
放入到自己的认证文件中authorized_keys
;
for a in {1..3}; do sudo ssh hadoop@node$a cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys; done
3.在集群的node1 节点输入命令
将自己的认证文件 authorized_keys
` 通过 scp
命令复制发送到每一个节点上去: /home/hadoop/.ssh/authorized_keys
for a in {1..3}; do sudo scp /home/hadoop/.ssh/authorized_keys hadoop@node$a:/home/hadoop/.ssh/authorized_keys ; done
4.非ROOT 用户需赋权限
chmod 700 /home/hadoop/.ssh/
chmod 700 /home/hadoop/
chmod 600 /home/hadoop/.ssh/authorized_keys
5.在集群的每一个节点节点输入命令
接重启ssh服务
sudo systemctl restart sshd.service
6.验证 ssh 无密登录
开一个其他窗口测试下能否免密登陆
例如:在node3
ssh hadoop@node2
exit
退出
[hadoop@node1 ~]# exit
logout
Connection to node1 closed.
注意:开新的其他窗口测试下能否免密登陆,把当前窗口都关了
Contact
- 作者:鹏磊
- 出处:http://www.ymq.io
- Email:admin@souyunku.com
- 版权归作者所有,转载请注明出处
- Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享
- Jarvis-OJ平台多题WriteUp分享
- 会员提问 之 JS中的私有方法有什么意义?
- 本周末的QQ群视频--还是电商网站的事
- 【译】使用Apache的mod重写来保护你的C2 Empire
- 大白话,设计一个购物车对象
- 【译】Cromos – 下载并注入代码到谷歌 Chrome 浏览器扩展中
- X-NUCA 2017第三期 WriteUp
- 学习分享 | Flipped Ciphertext Bits
- 聊一下JavaScript定时器
- java redis 通用组建
- 学习分享 | Padding Oracle
- FastJson 反序列化注意事项
- Python编写渗透工具学习笔记二 | 0x05编写脚本劫持tcp会话
- linux下socket编程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php实现单笔转账到支付宝功能
- PHP发送邮件确认验证注册功能示例【修改别人邮件类】
- PHP实现微信退款功能
- 从零开始玩转PerfDogService---------初探篇
- php+laravel依赖注入知识点总结
- PHP获取当前系统时间的办法小结
- Laravel 中使用简单的方法跟踪用户是否在线(推荐)
- 浅析php怎么实现爬取数据原理
- 在 Laravel 中动态隐藏 API 字段的方法
- php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
- Thinkphp 5.0实现微信企业付款到零钱
- 实现php删除链表中重复的结点
- YII分模块加载路由的实现办法
- ThinkPHP5.0框架实现切换数据库的方法分析
- php微信公众号开发之微信企业付款给个人