【甘道夫】Ubuntu集群配置免认证登陆

引言

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



正文

三个节点: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 免密码连入对方了!!!

时间: 2024-10-01 05:03:45

【甘道夫】Ubuntu集群配置免认证登陆的相关文章

Ubuntu集群 配置ntp服务

1.概述 NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击.(来自 百度百科) 2.集群状况 现在又4台Ubuntu主机,选择其中一台作为提供ntp服务的主机(server01). 3.安装ntp服务 在提供ntp服务的主机上安装ntpserver: apt-get in

Hadoop集群配置免密登录方法

Hadoop集群包含1个主节点和3个从节点,需要实现各节点之间的免密码登录,下面介绍具体的实现方法. 一.Hadoop集群环境 二.免密登录原理 每台主机authorized_keys文件里面包含的主机(ssh密钥),该主机都能无密码登录,所以只要每台主机的authorized_keys文件里面都放入其他主机(需要无密码登录的主机)的ssh密钥就行了. 三.实现方法 1. 配置每个节点的hosts文件 #vim /etc/hosts1 192.168.44.3 hadoop01 2 192.16

hadoop集群配置和在windows系统上运用java操作hdfs

安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.1/ sudo apt-get install ssh sudo apt-get install rsync mkdir /usr/local/hadoop tar -zxvf hadoop-3.1.1.tar.gz -C

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

引言: 前面转载过一篇团队兄弟[伊利丹]写的NN HA实验记录,我也基于他的环境实验了NN HA对于Client的透明性. 本篇文章记录的是亲自配置NN HA的详细全过程,以及全面测试HA对客户端访问透明性的全过程,希望对大家有帮助. 实验环境: Hadoop2.2.0的4节点集群,ZK节点3个(ZK节点数最好为奇数个),hosts文件和各节点角色分配如下: hosts: 192.168.66.91 master 192.168.66.92 slave1 192.168.66.93 slave2

关于hadoop2.x(2.7.1 2.7.2)集群配置和测试运行中Ubuntu虚拟机VM设置nat方式导致节点传输问题

集群配置都大同小异,在这里我简单说下我的配置: 主节点系统是Ubuntu 14.04 LTS x64其他两个节点在VM中系统为Centos 6.4 x64 JVM为jdk1.7_80 hadoop版本2.7.1和2.7.2都尝试了 出现的问题是: 启动hdfs系统正常,都启动起来了,jps查看如下 主节点 SecondaryNameNode和 NameNode 从节点:DataNode 但使用hfds命令dfsadmin -report发现live的datanode只有1个,而且当你不同时间re

Ubuntu 下 rabbitmq集群配置

1,执行在host文件中配置主名字 192.168.1.21 <span style="font-family: Arial, Helvetica, sans-serif;">platform-api1</span> 192.168.1.22 <span style="font-family: Arial, Helvetica, sans-serif;">platform-api2</span> 2,分别启动21,22

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

目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.zip Apache Ant(TM) version 1.8.4 compiled on May 22 2012 java version "1.7.0_45" 參考文章: http://kangfoo.u.qiniudn.com/article/2013/12/build-hadoop2x

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

之前转载过一篇[伊利丹]写的NN HA实验记录,该博客描述了主备NN透明切换的过程,也就是说,当主NN挂掉后,自动将备NN切换为主NN了,Hadoop集群正常运行. 今天我继续做了一个实验,目的是实现NN的切换不会对Client端程序造成影响,即NN切换对Client透明. 首先,很重要的一点: 要保证core-site.xml中的 <property> <name>fs.defaultFS</name> <value>hdfs://hadoop-clust

【甘道夫】Win7x64环境下编译Apache Hadoop2.2.0的Eclipse插件

目标: 编译Apache Hadoop2.2.0在win7x64环境下的Eclipse插件 环境: win7x64家庭普通版 eclipse-jee-kepler-SR1-win32-x86_64.zip Apache Ant(TM) version 1.8.4 compiled on May 22 2012 java version "1.7.0_45" 参考文章: http://kangfoo.u.qiniudn.com/article/2013/12/build-hadoop2x