背景:
1 在hadoop分布式集群的机器之间,务必关闭防火墙,因为开启下,仅仅放开很少的几个端口,这个给集群见的通讯带来很不方便
2 ssh简介:
a) 是加密协议,完成加密通讯的一个协议,
对远程登陆和远程执行命令加密,防止网络监听而出现的密码泄漏
b) 主要使用了rsa算法(不对称加密算法),通过执行ssh-keygen -t rsa
来生成公钥id_rsa.pub,私钥id_rsa 这一对密钥对
c) 生成的id_rsa.pub需要拷贝到目标服务器中,以保持到此机器时免密码登陆的目的
d) 用来取代传统的telnet和R系列命令(rlogin,rsh,rexec等)
2.1 分类:
目前有SSH1和SSH2,SSH2协议兼容SSH1,
目前实现SSH1和SSH2协议的主要软件有
a: OpenBSD组织开发的一款免费的SSH-->OpenSSH
b: SSH Communications Security Corporation公司的收费软件SSH Communications
在linux、FreeBSD、OpenBSD、NetBSD等免费类UNIX系统种,都使用OpenSSH作为SSH协议的实现软件.
3 如下没有配置ssh免密码登陆114的情况(从113免密码登陆114)
[root@master ~]# ssh root@192.168.1.114 The authenticity of host '192.168.1.114 (192.168.1.114)' can't be established. RSA key fingerprint is 3b:2b:d5:57:a0:44:ab:2d:bd:b8:67:35:46:0c:c5:15. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.114' (RSA) to the list of known hosts. Address 192.168.1.114 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! root@192.168.1.114's password: Last login: Wed Jul 30 02:19:40 2014 from 192.168.1.156 [root@sliver114 ~]#
如上免登陆流程解释如下:
第一次登陆到114后,ssh就会把登陆的ssh指纹放在114机器用户home/.ssh/know_hosts 文件中,
eg:
[root@master .ssh]# cat known_hosts sliver114,192.168.1.114 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtahDTCWYEl8EXku1wLOUH8j1Jr6C5hnopHW3oYevXmAC75ffshnYhkEe2oYdjcfYkO/SoJnUMfpX0rIDWKjb92U3Rgt9mNCoWqRNkRiGzdinVZ3QBYnz27QOOjEZtItIYzEhzMfNtUcmAa8Z8FLa/RHkPqkYi0+xWTb4TCjMkTdxGStfA1exsz/IuCQshVCTtCiiPOfoBDkrYvpIS2Vw0L46HYhqq1pruSpuzTekOTOZW8GoZ85s8nlhrVCGskkGQrA1H7567aYqT0exnXmZez605FN3/TR7Vyc9eb7xcttk1rB4e+pntZUK8PAEyo/c5a6nBDesEszjf15yGMAMNQ==
如果远程系统重装过系统,ssh指纹已经改变,你需要把 .ssh 目录下的know_hosts中的相应指纹删除,再登陆回答yes,方可登陆。
.ssh目录权限(用户自己的目录)必须是700,用户的home目录不能给其他用户读写查看权限,否则ssh服务器会拒绝登陆,
如果发生不能登陆的问题,请察看服务器上的日志文件/var/log/secure。通常能很快找到不能登陆的原因。
4 如下流程实现机器 113, 114之间无密码登陆操作(前提是两台机器的防火墙都关闭):
4.1)分别在113, 114机器上 通过ssh-keygen -t rsa 命令创建各自机器的 密钥对
如下是114生成自己密钥对, 同样写法生成113的密钥对
[root@sliver114 ~]# ssh-keygen -t rsa [root@sliver114 ~]# cd ~/.ssh [root@sliver114 .ssh]# ls id_rsa id_rsa.pub
4.2) 实现113机器到114机器的ssh连接:
4.2.1)拷贝113公钥到114 并重命名 [root@master .ssh]# scp id_rsa.pub root@192.168.1.114:/root/.ssh/authorized_keys 4.2.2)在114中查询拷贝后的结果,并确认拷贝过来的文件权限为-rw-r--r-- [root@sliver114 .ssh]# ls -l total 24 -rw-r--r-- 1 root root 393 Jul 30 02:48 authorized_keys 必须确定此文件是左侧权限 否则需要手动修改 -rw------- 1 root root 1675 Jul 30 02:45 id_rsa -rw-r--r-- 1 root root 396 Jul 30 02:45 id_rsa.pub [root@sliver114 .ssh]# 4.2.3)113中 ssh 114 检查ssh免密码登陆是否生效,如果直接进入114 则单项到114成功 [root@master .ssh]# ssh 192.168.1.114 Address 192.168.1.114 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! Last login: Wed Jul 30 02:28:21 2014 from 192.168.1.113 [root@sliver114 ~]#
4.3) 实现114机器到113机器的ssh连接:
执行步骤和 4.2)一样, 这里不再详细贴操作流程 [root@sliver114 .ssh]# scp id_rsa.pub root@192.168.1.113:/root/.ssh/authorized_keys [root@sliver114 .ssh]# ssh 192.168.1.113 或者写成 [root@sliver114 .ssh]# ssh root@192.168.1.113
4.4) ssh面密码登陆交互流程如下:
5 生成密钥和多机器免密钥登陆续:
命令解释:[root@master .ssh]# ssh-copy-id -i sliver103
表示将master机器的公钥信息拷贝到sliver103机器的authorized_keys文件内
生成密钥解释续:
[root@mail ~]# ssh-keygen -b 1024 -t dsa -C gucuiwen@myserver.com Generating public/private dsa key pair. #提示正在生成,如果选择4096长度,可能需要较长时间 Enter file in which to save the key (/root/.ssh/id_dsa): #询问把公钥和私钥放在那里,回车用默认位置即可 Enter passphrase (empty for no passphrase): #询问输入私钥密语,为了实现自动登陆,应该不要密语,直接回车 Enter same passphrase again: #再次提示输入密语,再次直接回车 Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. #提示公钥和私钥已经存放在/root/.ssh/目录下 The key fingerprint is: 71:e5:cb:15:d3:8c:05:ed:05:84:85:32:ce:b1:31:ce gucuiwen@myserver.com #提示key的指纹 # ssh-keygen -b 1024 -t dsa -C gucuiwen@myserver.com: -b 1024 采用长度为1024字节的公钥/私钥对,最长4096字节,一般1024或2048就可以了,太长的话加密解密需要的时间也长。 -t dsa t:type 采用dsa类型加密方式的公钥/私钥对,除了dsa还有rsa方式,rsa方式最短不能小于768字节长度。 -C gucuiwen@myserver.com 对这个公钥/私钥对的一个注释和说明,一般用拥有者的邮件代替。可以省略不写,更多其他参数请man ssh-keygen。 ssh-keygen -t rsa : 通常我们直接用次方式来创建公钥私钥,生成结果如下: id_rsa id_rsa.pub known_hosts id_dsa.pub: 产生的公钥,ssh默认的公钥文件是用户home/.ssh/authorized_keys, 把此本机产生的公钥id_dsa.pub需要cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 操作,重命名成需要的名称然后 将客户端的authorized_keys上传到需要登陆的服务器的对应用户目录的home目录的.ssh目录下, ,这个文件中可以存放多个客户端的公钥文件,就好比一个大门上可以上很多锁,可以有不同的钥匙来尝试开锁,只要有一个锁被打开了,门就可以打开了。 eg: 多客户端机器实现无密码链接同一个服务器时,将多个客户端的公钥拷贝到服务端写法: [root@master .ssh]# ssh-copy-id -i sliver103 这样master就可以无密码下访问 sliver103 [root@sliver104 .ssh]# ssh-copy-id -i sliver103 这样sliver104就可以无密码下访问 sliver103 查看 sliver103的authorized_keys: 发现会增加: ...== root@master ...== root@sliver104 印证了 服务端公钥文件--->一个大门上可以上很多锁,每个锁都是对应客户端的公钥文件的说法
多机器ssh互通下,
主要涉及如下两个文件,起作用为:
authorized_keys 存放所有客户端的公钥文件(实际就是将所有客户端rsa产生的pub文件拷贝到服务端)
known_hosts 存放所有ssh进来的机器指纹
相关推荐
01_Hadoop_开篇_课程整体介绍.mp4 03_Hadoop_概论_大数据的特点.mp4 ...29_Hadoop_入门_ssh免密登录.mp4 30_Hadoop_入门_集群配置.mp4 31_Hadoop_入门_群起集群并测试.mp4 32_Hadoop_入门_集群崩溃处理办法.mp4 34_
Hadoop_Hadoop集群(第5期副刊)_JDK和SSH无密码配置 Hadoop_Hadoop集群(第6期)_WordCount运行详解 Hadoop_Hadoop集群(第7期)_Eclipse开发环境设置 Hadoop_Hadoop集群(第8期)_HDFS初探之旅 Hadoop_Hadoop集群...
Hadoop 0.23.9 安装指南 Apache Hadoop 是一个开源框架,它允许使用简单的编程模型在跨计算机集群存储和处理大量数据。它主要用于大数据处理,是大数据技术栈中的重要组成部分。安装 Hadoop 需要进行一系列的准备...
在Windows上运行Hadoop需要一个名为Winutils的工具,它提供了与Linux系统上`ssh`和`hadoop`命令类似的功能。由于官方并未提供Windows版本,你需要找到一个可靠的第三方实现,将其放入`HADOOP_HOME\bin`目录下,并...
`winutils.exe`是Windows用户必须安装的,因为它弥补了Windows系统缺乏的一些Unix/Linux命令行工具,如`ssh`、`hadoop fs`等。 `hadoop.dll`是Hadoop在Windows环境中运行所必需的动态链接库文件,它包含了Hadoop...
6.细细品味Hadoop_Hadoop集群(第5期副刊)_JDK和SSH无密码配置 7.细细品味Hadoop_Hadoop集群(第6期)_WordCount运行详解 8.细细品味Hadoop_Hadoop集群(第7期)_Eclipse开发环境设置 9.细细品味Hadoop_Hadoop集群...
概述$ export HADOOP_SSH_HOST=rnd07.local$ export HADOOP_SSH_OPTS=User=afyodorov$ export HADOOP_SSH_SUDO=hdfs$ hadoop_ssh fs -ls /flume/logs/bs/2014/09/03Found 4 itemsdrwxr-xr-x - hdfs supergroup 0 ...
在搭建Hadoop 2.5.2环境的过程中,选择CentOS作为操作系统是一个常见的选择,因为其稳定性和与开源软件的良好兼容性。以下是基于CentOS 7.0搭建Hadoop 2.5.2的详细步骤,以及涉及的相关知识点: 1. **系统准备**: ...
本篇将详细讲解如何配置Hadoop集群的SSH免登录,并介绍提供的shell脚本`hadoop_ssh_auto_login.sh`以及辅助文件`ip_hosts.txt`的用途。 首先,理解SSH免登录的基本原理。SSH免登录依赖于公钥认证机制,即在每台主机...
### 细细品味Hadoop:深入理解Hadoop集群与JDK及SSH无密码配置 #### Linux环境下JDK的配置详解 ...总之,正确的JDK环境配置与SSH无密码登录机制是搭建稳定、高效Hadoop集群的基石,需要在部署初期给予充分重视。
Hadoop 2.6 伪分布式环境部署实践 Hadoop 是一个开源的大数据处理框架,由 Apache 维护。它提供了一个可靠、高效、可扩展的分布式计算框架,广泛应用于数据处理、数据挖掘、机器学习等领域。本文将详细介绍如何在 ...
基于 CentOS 的 Hadoop 集群安装 概述 本文将指导读者在 CentOS 操作系统上安装 Hadoop 集群,包括安装 JDK、Hadoop、配置环境变量、修改 Hadoop 配置文件等步骤。 安装 JDK 在安装 Hadoop 之前,需要先安装 JDK...
- 编辑`/etc/sysconfig/iptables`文件,添加规则以开放Hadoop所需的端口,例如HTTP端口80和SSH端口22。 #### HBase的安装与配置 HBase的安装同样需要先解压其安装包。配置`Hbase/conf`目录下的`hbase-env.sh`和`...
"大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop" 该资源主要讲述了Hadoop集群的配置和使用,特别是JDK和SSH无密码配置。以下是相关知识点的总结: 一、Hadoop集群概述 * Hadoop是Apache基金会下的一个...
在IT行业中,大数据处理是一个至关重要的领域,而Hadoop作为其中的明星框架,为企业提供了高效、可扩展的数据处理解决方案。本篇文章将详细讲解Hadoop在CentOS操作系统上的安装与配置,帮助你深入理解Hadoop集群的...
5. 连接远程Hadoop集群:在Windows 7上,Eclipse需要通过SSH(Secure Shell)协议连接到远程Hadoop集群。因此,确保已安装并配置了SSH客户端,如PuTTY,并知道集群的SSH登录凭据。 6. 部署和运行:通过Eclipse插件...
在Hadoop这样的分布式计算环境中,SSH无密码登录配置至关重要,因为它简化了节点间的通信,提高了运维效率。以下是关于SSH无密码登录配置的详细解释。 **一、SSH原理** SSH通过加密网络数据流,确保在非安全网络上...
1、打开三个节点(我的是三个) 2、创建密钥 3、追加密钥到autorized_keys文件,并设置权限 4、三个节点都进行 2 .3 两步操作之后