`
qindongliang1922
  • 浏览: 2182461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117477
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125866
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59865
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71256
社区版块
存档分类
最新评论

CentOS6.4之图解SSH无验证双向登陆配置

阅读更多
配置SSH无登陆验证,在很多场景下是非常方便的,尤其是在管理大型集群服务时,避免了繁琐的密码验证,在安全级别越高的服务器上,通常密码的设置更复杂,配置SSH,不仅可以用密钥保证节点间通信的安全性,同时也降低了频繁输入密码登陆的耗时,大大提高了管理效率。散仙写此篇文章,也是给准备入手Hadoop的道友们先做好一个基础的准备,当然你也可以不配置SSH,只要你愿意频繁输入Slave节点的密码来登陆。



1. SSH无密码验证的原理
Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Salve上。当Master通过SSH链接到Salve上时,Salve会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Salve,Salve确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,期间不需要手工输入密码,重要的过程是将Master上产生的公钥复制到Salve上。

2.SSH无密码登陆的几种关系
通常情况下,一个集群服务下至少有一个Master和若干个Slave
,那么无密码登陆通常指的是由Master到任意一个Slave的无验证的单向登陆,意思就是只能从Master登陆到Slave是不需要密码的,但是如果你想从Slave无验证登陆到Master,或者你想在Slave与Slave之间进行无验证登陆,这些都是不可行的,除非,你进行了密钥对的双向验证,才可以双向登陆,我们在这里先不去议论相互之间登陆有没有意义,可能某些情况下或许需要这些方式。


节点名IP地址
Master10.2.143.5
Slave10.2.143.36


下面开始步入正题,散仙使用的是CentOS6.4版本的,配置的是2个节点之间的双向的SSH无验证登陆,其他几种系统的也大同小异,我们首先使用root用户登陆,在network中修改机器名,并在hosts文件中添加映射信息,然后执行保存退出,Slave机按同样方法配置,具体操作见下图










然后我们在Master,Slave机上分别用root用户建一个hadoop用户,并设置密码,注意用户名,密码保持一致。


然后,登入hadoop用户,执行以下命令,生成密钥对,并把公钥文件写入授权文件中,并赋值权限,
    ssh-keygen –t rsa –P ''
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
   chmod 600 ~/.ssh/authorized_keys
最后切换root用户,配置sshd,取消被注释的公钥字段,
    RSAAuthentication yes # 启用 RSA 认证
    PubkeyAuthentication yes # 启用公钥私钥配对认证方式
    AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
并保存设置,然后重启sshd,即可测试本机的SSH,如下图所示。









至此,我们本机的SSH已经配置完毕,下面给出SSH登陆本机图


在上图中,我们可以看出,无论使用localhost,还是IP地址,或者是主机名,我们都可以顺利的进行本机的无验证登陆。


下面,散仙进行把Master的公钥文件通过scp拷贝到已经创建好的Slave节点的hadoop用户上,需要注意的是,在这个用户上不一定有.ssh文件夹,如果没有的话,也没关系,创建一个.ssh文件夹,并赋予700的管理权限,最后将公钥追加到授权文件中,并赋予600的权限,这两步比较重要,切记!


拷贝完成之后,去Slave机上进行,公钥追加授权文件,并赋值权限,然后切换root用户,进行sshd配置,并重启ssh服务,步骤,如Master机的配置。




然后,回到Master机的hadoop用户上,进行测试





我们发现此时,已经不需要密码验证了。当然现在只是单向登陆从Master到Slave的可以,如果从Slave到Master的你会发现不行,这个是正常的,想要双向登陆,必须得两台机器互相认证彼此的公钥文件,以此类推无论是你有多少台节点,只要机器双方之间有认证,就可以任意实现无验证登陆,当然在我们实际的生产环境中,只考虑有意义的认证,下面散仙在Slave节点下的hadoop用户里,生成自己的公钥文件,并用scp拷贝到Master上,然后将公钥追加的授权文件中,以此实现双向认证。


Slave机上的hadoop用户生成密钥对


Slave机上拷贝公钥到Master机上的hadoop用户上

然后与上面相同的方式追加到授权文件authorized_keys里面。然后就大功搞成了,散仙给出截图证明双向无验证登陆。
Master机上hadoop用户的双向认证


Slave机上hadoop用户的双向认证


至此,我们的双向无登陆验证,已经搞定了,对于多节点的,也是这个道理,只有节点之间都有相互的公钥认证,就可以双向认证了,如果是单向管理的,只需要配置一方的公钥就可以了,当然,在实际的环境中,大部分都是单向的。这个我们要根据实际的情况来处理。


  • 大小: 13.6 KB
  • 大小: 28 KB
  • 大小: 3.7 KB
  • 大小: 19.4 KB
  • 大小: 48.3 KB
  • 大小: 57.4 KB
  • 大小: 17 KB
  • 大小: 13 KB
  • 大小: 14 KB
  • 大小: 92.8 KB
  • 大小: 42.6 KB
  • 大小: 33.1 KB
  • 大小: 25.9 KB
  • 大小: 16.1 KB
  • 大小: 33 KB
  • 大小: 57.7 KB
  • 大小: 40.2 KB
  • 大小: 35.6 KB
  • 大小: 28.1 KB
0
1
分享到:
评论

相关推荐

    CentOS6.4 SSH Telnet服务器配置

    ### CentOS 6.4 SSH与Telnet服务器配置详解 #### 一、SSH服务器概述与功能 **SSH**(Secure Shell)是一种广泛应用于Linux系统中的安全协议,主要用于远程登录会话和其他网络服务的安全通信。它是目前最可靠的安全...

    centos6.4iso镜像

    centos6.4的安装镜像。可以下一个VM,安装流程百度一大堆。

    CentOS6.4单用户下root密码破解

    ### CentOS6.4单用户模式下Root密码破解详解 #### 一、背景介绍 在Linux系统管理中,可能会遇到忘记root账户密码的情况。这不仅会给系统维护带来不便,还可能影响到系统的正常使用。CentOS 6.4作为一款广泛使用的...

    CentOS 6.4安装(超级详细图解教程)

    【CentOS 6.4安装(超级详细图解教程)】 CentOS,全称为Community ENTerprise Operating System,是一款基于Linux的开源操作系统,以其稳定性和安全性受到广大用户的喜爱,尤其在服务器领域应用广泛。本教程将针对...

    vm虚拟机centos6.4百度云盘下载地址(永久有效)

    VMware上的centos6.4虚拟机,直接下载解压导入即可使用

    centos6.4安装图解

    在本文中,我们将详细探讨如何在CentOS 6.4环境下进行系统安装,这是一个适合初学者的自定义安装教程。安装过程分为多个步骤,包括选择安装类型、语言和键盘布局、磁盘分区、网络配置、时区设定、密码设置以及服务...

    CentOS 6.4安装配置LAMP服务器_Apache+PHP5+MySQL

    CentOS 6.4安装配置LAMP服务器

    centos6.4U盘安装

    ### CentOS 6.4 U盘安装详细指南 #### 一、前言 随着Linux系统的广泛应用,CentOS作为一款稳定、安全且免费的企业级操作系统受到了众多用户的青睐。在实际操作过程中,有时我们需要通过U盘来安装CentOS系统,尤其是...

    Centos6.4_安装oracle_11g教程

    在CentOS 6.4上安装Oracle 11g涉及到多个步骤,包括安装依赖包、配置SELinux和防火墙、创建用户和组以及安装目录等。 首先,安装Oracle 11g之前,确保系统已更新至最新版本,并安装一系列必要的依赖包。这些包包括...

    CentOS 6.4 开启Telnet-Service服务

    在Linux操作系统中,CentOS 6.4是一个广泛使用的版本,它提供了稳定和安全的服务器环境。然而,为了实现远程访问和诊断,有时我们需要开启一些网络服务,如Telnet服务。本文将详细介绍如何在CentOS 6.4上启用Telnet...

    CentOS 6.4 i386的学习笔记-001 自定义安装图形界面

    ### CentOS 6.4 i386 自定义安装图形界面详解 #### 一、自定义安装概述 在《CentOS 6.4 i386的学习笔记-001 自定义安装图形界面》中,作者详细记录了在虚拟机环境下进行自定义安装CentOS 6.4 i386图形界面的全过程...

    linux centos6.4搭建DHCP服务器

    本文将详细介绍在 CentOS 6.4 下安装、配置及启动 DHCP 服务的过程。 #### 二、安装 DHCP 服务器 1. **安装 DHCP 服务器:** 使用 `yum` 命令安装 DHCP 服务。在终端执行以下命令: ```bash yum -y install ...

    CentOS 6.4 安装 Oracle 11g

    在本教程中,我们将深入探讨如何在 CentOS 6.4 操作系统上安装 Oracle 11g 数据库管理系统。Oracle 11g 是一个企业级的数据库解决方案,它提供了高性能、高可用性和安全性,适用于大型企业的关键业务应用。在 CentOS...

    编译PHP5配置centos6.4

    在CentOS 6.4操作系统上编译安装PHP5的过程是一项技术性的工作,涉及到多个步骤和依赖库的安装。以下是对整个过程的详细说明: 首先,为了编译PHP5,你需要确保系统上已经安装了一些基本的开发工具和库。通过运行`...

    Centos6.4 64位系统安装oracle 11g R2

    文件"美河学习在线eimhe.com]centos6.4_64安装oracle 11g r2.pdf"可能提供了更详细的步骤和指导,建议仔细阅读以确保整个过程顺利进行。 在整个过程中,确保遵循最佳实践,如定期备份、限制权限和监控系统性能,以...

    CentOS6.4 test file

    这个“CentOS6.4 test file”标题表明它是一个与CentOS 6.4版本相关的测试文件,可能包含了用于验证系统功能、性能或兼容性的数据和脚本。CentOS 6.4是该系列的一个特定更新,发布于2013年,提供了长期支持,并且在...

    CentOS-6.4-x86_64-bin-DVD.iso

    CENTOS6.4 X64位 CentOS-6.4-x86_64-bin-DVD1.iso CentOS-6.4-x86_64-bin-DVD2.iso

Global site tag (gtag.js) - Google Analytics