配置hadoop各个节点之间免密码登录实践笔记

原创 2015年11月17日 21:12:36
前言:
         

最近在搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。

在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。

       " 公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。


0-我们需要为每一台机器编辑hosts文件使主机名和主机ip映射关联起来 :vi /etc/hosts-->在里面添加所有节点的ip  主机名,类似如下格式:
                172.18.1.244    server244
                172.18.1.246    server246
                172.18.1.249    server249  
添加完成后,再加上实现ssh免密码登录后就会在用户主目录下的.ssh文件夹下生成一个known_hosts文件
    
1-实现ssh免密码登陆之前首先得要保证你的电脑安装了ssh及sshd,并且确认本机sshd的配置文件(需要root权限),我们先来编辑vi /etc/ssh/sshd_config,

找到以下内容,并去掉注释符”#“

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys

 如果修改了sshd配置文件需要重启sshd服务 (需要root权限):在centos7之前可以通过service sshd restart重启,但是在centos7版本以上的输入service sshd restart它会重定向到一个新的命令,我们复制重定向的命令执行即可达到sshd重启的目的。

2-配置SSH的无密码登录可以首先新建专用用户hadoop进行操作,在此我们为每一个节点新建相同的hadoop用户,执行新建用户命令:adduser hadoop,接着为hadoop用户设置密码 passwd hadoop回车输入密码即可。

3-接着我们以hadoop用户身份登录:su hadoop,进入hadoop的家目录 cd /home/hadoop,输入:ssh-keygen -t rsa -P '',回车,会提示你保存生成的密码的位置,回车的话默认保存在当前目录下的.ssh文件夹下面,这样/home/hadoop/.ssh文件夹下面就有id_rsa和id_pub2个文件,然后我们把id_rsa.pub这个公钥文件追加到authorized_keys文件中。

解释一下,第一条生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用‘‘空字符串表示无密码。

第二条命令将生成的密钥写入authorized_keys文件。

这时输入 ssh localhost,弹出写入提示后回车,便可无密码登录本机(如果还是提示要输入密码则执行修改文件authorized_keys的权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能 ):

修改authorized_keys文件权限的命令是: chmod 600 ~/.ssh/authorized_keys
)。同理,将authorized_keys文件 通过 scp命令拷贝到其它主机相同目录下,则可无密码登录其它机器。拷贝的命令如下:

scp authorized_keys hadoop@172.18.1.246:/home/hadoop/.ssh  

正常情况下上面几步执行完成后,从主机A所在机器向主机A、主机B所在机器发起ssh连接,只有在第一次登录时需要输入密码,以后则不需要。

此时,只是实现了某一个节点登录自己和其他节点免密码,我们还需要以同样的方式实现其他的节点登录其它节点,就如同刚刚我们为这个节点设置的那样,也就是我们需要为其他节点生成公钥和私钥,然后把公钥保存(其实是追加)在authorized_keys文件中,接着把这个authorized_keys文件scp拷贝到其他所有节点,这样所有节点之间都可以实现和其他节点免密码登录,包括登录自己。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ubuntu 中ssh无密码配置 ,hadoop节点之间无密码登录

今天在搭建hadoop环境配置的时候,需要ssh无密码登录,费了九牛二虎之力,终于搞定了。  首先,不同的linux操作系统,可能之间的命令有一些少许的不同,我的操作系统是ubuntu,所以把我所搞的...

Hadoop集群SSH服务和免密码登录的配置

前言: SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在 应用层和传输层基础上的安全协议。SSH 是...

hadoop设置ssh免密码登录

对于需要远程管理其它机器,一般使用远程桌面或者telnet。linux一般只能是telnet。但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问。为 解决这个问题,推出了通信加密通信协...

IP协议中的私有地址

在现在的网络中,IP地址分为公网IP地址和私有IP地址.公网IP是在Internet使用的IP地址,而私有IP地址则是在局域网中使用的IP地址。 私有IP地址是一段保留的IP地址。只使用在局域网中,...

邻接表有向图 之 Java详解

邻接表有向图的介绍邻接表有向图是指通过邻接表表示的有向图。上面的图G2包含了”A,B,C,D,E,F,G”共7个顶点,而且包含了”邻接表有向图的代码说明1. 基本定义public class List...

java中数组的三种定义方式

java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 /** * 数组的三种定义方法 * * 1.数组类型[] 数组名=new 数组类型[数组长度]; *...

HTML 文本格式化实例

哎,这个博客不能直接插入本地图片,必须传到相册,用网络地址插入,郁闷。搞了半天才整好!UNWWW在某些浏览器中,当您把鼠标移至缩略词语上时,title 可用于展示表达的完整版本。仅对于 IE 5 中的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)