hadoop集群配置之服务器ssh免密码配置 原

先说下环境:

    系统:centos7 64位(总共3个,两个vmware,一个笔记本)

    硬件:VMware,笔记本

    主机名:master:h1(192.168.1.55),slave:h2(192.168.1.56),h3(192.168.1.57)

接着启动三台主机,登录到root,每个主机执行以下命令

#设置主机名hostnamectl set-hostname h2
#建立用户
useradd hadoop
#设置密码,我这里为test123
passwd hadoop
#切换到hadoop用户
su hadoop
#生成秘钥
cd ~
#回车一次后要求输入秘钥密码,我这里为helloword123
ssh-keygen -t rsa
cd .ssh
#将公钥保存到authorized_keys
cp id_rsa.pub authorized_keys
#设置权限
cd ..
chmod 755 ~
chmod 755 .ssh
cd .ssh
chmod 644 id_rsa.pub
chmod 644 authorized_keys
chmod 600 id_rsa

    然后复制authorized_keys的内容,最终会得到三个秘钥,将刚才复制的内容合在一起,替换到各个主机里的authorized_keys里。

    这还没结束,回到root账户,找到/etc/ssh/sshd_conf文件,将RSAAuthentication yes和PubkeyAuthentication yes前的#去掉,再在命令里输入service sshd restart重启sshd服务

    最后切换到hadoop用户,输入ssh h2,这时可能会提示你输入秘钥密码,如果提示了,输入一次秘钥密码后以后不会再提示。下面附上操作中的一些命令。

[root@h2 桌面]# useradd hadoop
[root@h2 桌面]# passwd hadoop
更改用户 hadoop 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@h2 桌面]# su hadoop
[hadoop@h2 桌面]$ cd ~
[hadoop@h2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
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:
80:4e:cb:bd:e1:0c:d3:36:2c:8b:ea:e8:ae:84:c6:79 hadoop@h2
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|     .           |
|    o .          |
|   + = .         |
|    B B S        |
|o .. O +         |
|.=.E. +          |
|+..              |
|O+               |
+-----------------+
[hadoop@h2 ~]$ cd .ssh
[hadoop@h2 .ssh]$ cp id_rsa.pub authorized_keys
[hadoop@h2 .ssh]$ chmod 755 ~
[hadoop@h2 .ssh]$ chmod 755 .ssh
chmod: 无法访问".ssh": 没有那个文件或目录
[hadoop@h2 .ssh]$ cd ..
[hadoop@h2 ~]$ chmod 755 ~
[hadoop@h2 ~]$ chmod 755 .ssh
[hadoop@h2 ~]$ cd .ssh
[hadoop@h2 .ssh]$ chmod 644 id_rsa.pub
[hadoop@h2 .ssh]$ chmod 644 authorized_keys 
[hadoop@h2 .ssh]$ chmod 600 id_rsa

sshd_conf文件

[hadoop@h2 .ssh]$ exit
exit
[root@h2 桌面]# service sshd restart
Redirecting to /bin/systemctl restart  sshd.service

确保所有主机上完成以上命令后,找到主目录下.ssh文件夹下的authorized_keys文件,将其内容复制合并到一起。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/Zc/dcCtqjqzbb69MOR2mt3lgsefZeELdJJc5KWPPARNmUF4CSdhyUEIbAW2RYO8FuyMLB9/3pFcpAjKTRtWs//TU+n3hGc299/15y++x5F9vPcllkoCKhV0uKSswQLhnhFSZ5QDPJLpU64FfqVDypVo7iqd3kackj1Ym4LPM7WhfttW3u5GbW5j4Sbxo6wOjfDQajXVQZgf2o8WbQMGUQPf7rpYRh+KwPXEtPl4/KA1Q6pPW4Ry6Oi1v4WfdwXdVETMO6le2hCBzL2p8rZ1JWEKq3l8rJehbM4o8l7Zde6jbBBNxLAjFM7SxC6X6g1z+5EbVwxIOsnWheHCWJKrJ hadoop@h1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDv7Z5buar7HnTw0jPsB5taMRLiRQfIbIPsVTatRuXul3wMVNV0kuK+4KkCkEIAE2CWVnVWb3cZWp72VdHlS0840kmP7fUT9MRhSDzvfwk3CTFN+usHUHt6E658urnmgAqlXNPe4178TPkwtwX/sz6xsl3FlsX8vSVjoh3O2445cY9W5hT6uI3XhZXGq+KFj4J43anOQY3vWghoGshVoKy2PJ49zZzpclx4rKtT5DsmiABIrZfgixDbRPdFw1K0ITq9c0AysM5pbNvgLul3K4oISgGfW97hVlhJprqW/SDD3X+qUkCt8EmfTJZVb2Z5sQ+T6DZUVQDJDQautIkpxoUd hadoop@h3
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgTCUlUM9tHJkxKS4RuIxcRgHD3bTxqgLLKspMGDDBrLYFNyS1pShlRCJHGbPJ9Igjrs5UmoUspaizgLzGZSvsjJdvAcQUWrD/XsYuLhI5dGFtd2vqxM/eh2JBriFwXErEbin4Ai5pOd0nZac9hiVeZCDm8r6HMv68ezt7YzAWdpLqIKdwck8Y74EzOoNSC9nZJOHso4oKsCetcuijZjJt/H8CK1OUth6jRe2UjTDq0FI4Uu85i0gEknGyOpjzhqogG3ii1rOAmvpsrt1hh8nHF/q9KvMB3zKc4XEUeIzITcqfFoNxIqYlTSI0n6PfFx/mXQVh6xkz2sU8p0nRIFPf hadoop@h2

将合成的包含三个秘钥的文件分别替换到各个主机上hadoop用户对应的位置。

下面是验证了,在h3主机里输入

[hadoop@h3 桌面]$ ssh h1
The authenticity of host 'h1 (192.168.1.55)' can't be established.
RSA key fingerprint is 5f:3f:d9:c5:ab:37:29:b7:f6:01:13:82:d7:1c:1b:a0.
Are you sure you want to continue connecting (yes/no)? yes

输入yes弹出了这样的一个页面

输入秘钥,记得勾选下面的那个checkbox,然后以后再ssh的时候就不会再弹出了。

最终命令如下

[hadoop@h3 桌面]$ ssh h1
Last login: Thu May 21 11:30:37 2015 from 192.168.1.58
[hadoop@h1 ~]$

注:假如全部正确操作,但是ssh的时候提示Agent admitted failure to sign using the key,那么切换到主目录执行以下ssh-add命令,重新连接即可。

另外关于主机名的下篇补上

补充一下,测试的时候一定要在hadoop账户下,在其他账户下通过su hadoop登陆的仍然会要求输入秘钥

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Grace development

NGINX宏观手记

任何一个工具都有它的灵魂所在,作为一个PHP程序员,我们可能仅仅使用了它的一小部分,这篇文章让你更加了解Nginx,本章大多都是总结、翻译、整理 ,希望你可以知...

8320
来自专栏程序员宝库

NGINX 宏观手记

任何一个工具都有它的灵魂所在,作为一个PHP程序员,我们可能仅仅使用了它的一小部分,这篇文章让你更加了解Nginx,本章大多都是总结、翻译、整理 ,希望你可以知...

6210
来自专栏喵了个咪的博客空间

PhalGo-Viper获取配置

#PhalGo-Viper获取配置 ? viper项目地址:https://github.com/spf13/viper ##什么是viper viper是国外...

42480
来自专栏有趣的django

Flask请求扩展和数据库连接池

32900
来自专栏小夜博客

LNMP1.3 安装 fileinfo 组件

39690
来自专栏Java后端技术

解决jetty7.0.pre5启动时报ClassNotFoundException: javax.interceptor.InvocationContext异常的问题

一.背景介绍:最近项目在使用maven命令行运行jetty服务器时出现ClassNotFoundException: javax.interceptor.Inv...

8010
来自专栏程序员同行者

vue moment库格式化处理后端传的日期

日期时间格式前端和后端都可以处理,我比较推荐前端来处理(定制化高),下面我就介绍下两种处理的方式

88210
来自专栏Linux驱动

第4阶段——制作根文件系统之分析init进程(2)

本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 ...

25790
来自专栏Laoqi's Linux运维专列

Linux入门到精pao通lu

40350
来自专栏DOTNET

【翻译】MongoDB指南/CRUD操作(三)

【原文地址】https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Tran...

30490

扫码关注云+社区

领取腾讯云代金券