引言
这是几年前写的文章,但一直以来该问题被反复问到。所以我决定将它又一次搬上屏幕。


正文
三个节点:masternode    slavenode1   slavenode2

第一步:全部节点分别生成密钥对
全部节点都要做:命令行中,在当前用户根文件夹运行
ssh-keygen -t rsa
密钥成功生成后是存储在当前用户根文件夹下的.ssh隐藏文件夹下,直接用 cd .ssh 就能进入,然后用ls命令就能看到id_rsa    id_rsa.pub

第二步:拷贝生成authorized_keys
全部节点都要做:将id_rsa.pub复制到文件anthorized_keys文件里。在 .ssh 目录下用命令 
cp id_rsa.pub authorized_keys

第三步:合并全部节点的authorized_keys文件,并分发到全部节点根文件夹的 .ssh 隐藏文件夹下
slavenode1中将authorized_keys发送到masternode的temp1暂时文件里:
scp ~/.ssh/authorized_keys masternode:~/.ssh/temp1

slavenode2中将authorized_keys发送到masternode的temp2暂时文件里:
scp ~/.ssh/authorized_keys masternode:~/.ssh/temp2

masternode中将temp1和temp2附加到authorized_keys文件里,这种话masternode的authorized_keys文件就包括了全部节点的公钥:
cat ~/.ssh/temp1 >> ~/.ssh/authorized_keys
cat ~/.ssh/temp2 >> ~/.ssh/authorized_keys
rm ~/.ssh/temp1
rm ~/.ssh/temp2

masternode中将合并好的authorized_keys文件分发到各节点:
scp ~/.ssh/authorized_keys slavenode1:~/.ssh/
scp ~/.ssh/authorized_keys slavenode2:~/.ssh/

第四步:全部系统配置  /etc/ssh/sshd_config  文件,使得系统使用公钥认证,并能识别 authorized_keys
cd /etc/ssh/ 以后,sudo gedit sshd_config 在文件里找到下面几行

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile%h/.ssh/authorized_keys
把#去掉就可以,系统就能通过authorized_keys来识别公钥了

第五步:检查sshd是否执行/安装。假设未安装将不能成功相互连接
执行 ps -e | grep ssh。查看是否有sshd进程
假设没有,说明server没启动。通过 /etc/init.d/ssh -start 启动server进程
假设提示ssh不存在 那么就是没安装server
通过 sudo apt-get install openssh-server命令安装就可以

第六步:解决 Agent admitted failure to sign using the key
假设出现该错误,则须要在全部的节点都运行   ssh-add   ~/.ssh/id_rsa   将私钥增加ssh。
至此,大功告成。。应该就能够在随意一台机器使用 ssh  masternode/slavenode1/slavenode2 避password彼此连接了!!!

版权声明:本文博主原创文章。博客,未经同意不得转载。

【甘道夫】Ubuntu群集配置 - 免费登陆的更多相关文章

  1. 【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse小工具

    目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.z ...

  2. 【甘道夫】MapReduce实现矩阵乘法--实现代码

    之前写了一篇分析MapReduce实现矩阵乘法算法的文章: [甘道夫]Mapreduce实现矩阵乘法的算法思路 为了让大家更直观的了解程序运行,今天编写了实现代码供大家參考. 编程环境: java v ...

  3. 【甘道夫】Hadoop2.2.0 NN HA具体配置+Client透明性试验【完整版】

    引言: 前面转载过一篇团队兄弟[伊利丹]写的NN HA实验记录,我也基于他的环境实验了NN HA对于Client的透明性. 本篇文章记录的是亲自配置NN HA的具体全过程,以及全面測试HA对clien ...

  4. 【甘道夫】Hive 0.13.1 on Hadoop2.2.0 + Oracle10g部署详细解释

    环境: hadoop2.2.0 hive0.13.1 Ubuntu 14.04 LTS java version "1.7.0_60" Oracle10g ***欢迎转载.请注明来 ...

  5. 【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    前言 HDFS为管理员提供了针对文件夹的配额控制特性,能够控制名称配额(指定文件夹下的文件&文件夹总数),或者空间配额(占用磁盘空间的上限). 本文探究了HDFS的配额控制特性,记录了各类配额 ...

  6. 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0

    准备: 确保hadoop2.2.0集群正常执行 1.eclipse中建立javaproject,导入hadoop2.2.0相关jar包 2.在src根文件夹下拷入log4j.properties,通过 ...

  7. 【甘道夫】NN HA 对于 Client 透明的实验

    之前转载过一篇[伊利丹]写的NN HA实验记录.该博客描写叙述了主备NN透明切换的过程,也就是说,当主NN挂掉后,自己主动将备NN切换为主NN了,Hadoop集群正常执行. 今天我继续做了一个实验.目 ...

  8. 【甘道夫】Ubuntu14 server + Hadoop2.2.0环境下Sqoop1.99.3部署记录

    第一步.下载.解压.配置环境变量: 官网下载sqoop1.99.3 http://mirrors.cnnic.cn/apache/sqoop/1.99.3/ 将sqoop解压到目标文件夹,我的是 /h ...

  9. 【甘道夫】基于Mahout0.9+CDH5.2执行分布式ItemCF推荐算法

    环境: hadoop-2.5.0-cdh5.2.0 mahout-0.9-cdh5.2.0 引言 尽管Mahout已经宣布不再继续基于Mapreduce开发,迁移到Spark.可是实际面临的情况是公司 ...

随机推荐

  1. 【Android进阶】Activity的四种加载模式

    Activity的四种加载模式: 1.standard :系统的默认模式,一次跳转即会生成一个新的实例.假设有一个activity命名为Act1, 执行语句:startActivity(new Int ...

  2. shell编程三大神器之grep

  3. Hybrid app 发展历程

    距离上一篇<基于微信 js-sdk 的简单应用>已经快一年了,说来真是惭愧.上次不久之后便换了工作,一直处于比较忙的状态.其次后面酣畅一段时间都没有从事移动相关的工作.直到今年3月份开始, ...

  4. MKNetWorkKit打印URL

    -(void)initNewUrl:(NSString *)urlString param:(NSMutableDictionary *)_paramDic{ //拼接參数至URL NSMutable ...

  5. PHP操作数据库PDO

    PHP操作数据库 载入数据库驱动 訪问phpinfo.php能够查看是否已经载入数据库驱动,例如以下显示还没有载入mySql数据库驱动. 在c盘找到php.ini配置文件开启载入mySql驱动,例如以 ...

  6. 【剑指offer】最小的k的数量

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26966159 题目描写叙述: 输入n个整数,找出当中最小的K个数.比如输入4,5,1,6, ...

  7. SQL Server审计功能入门:CDC(Change Data Capture)

    原文:SQL Server审计功能入门:CDC(Change Data Capture) 介绍 SQL Server 2008引入了CDC(Change Data Capture),它能记录: 1. ...

  8. 设计模式之空对象(Null Object)模式

    通过引用Null Object,用于取消业务逻辑中对对象的为空推断 类图: Nullable: package com.demo.user; public interface Nullable { b ...

  9. DataNode连接错误Retrying connect to server

      在Hadoop分布式模式部署完毕后,通过start-dfs.sh启动NameNode.DataNode.SecondaryNameNode,在master节点通过jps命令查看,看到NameNod ...

  10. php学习之道:mysql SELECT FOUND_ROWS()与COUNT(*)使用方法差别

    在mysql中 FOUND_ROWS()与COUNT(*)都能够统计记录.假设都一样为什么会有两个这种函数呢.以下我来介绍SELECT FOUND_ROWS()与COUNT(*)使用方法差别 SELE ...