zoukankan      html  css  js  c++  java
  • CentOS7设置集群环境SSH免密访问

    1.准备工作

    1)通过克隆或者其他方式获得可互相通信的多台节点(本文为3台虚拟机:hadoop101、hadoop102、hadoop103)

    2)配置节点的静态IP、hostname、hosts,参考:CentOS7设置hostname、hosts(永久更改)、静态IP地址

    [root@hadoop101 jdk1.8.0_121]# vi /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.1.101 hadoop101.com hadoop101
    192.168.1.102 hadoop102.com hadoop102
    192.168.1.103 hadoop103.com hadoop103
    192.168.1.104 hadoop104.com hadoop104
    192.168.1.105 hadoop105.com hadoop105
    192.168.1.106 hadoop106.com hadoop106

    3)输入命令:cd ~/.ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsa,id_rsa.pub文件

    2.生成rsa公钥私钥文件

    在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中

    1) 登录hadoop101,在~/.ssh目录下输入命令:

    ssh-keygen -t rsa

    三次回车后,该目录下将会产生id_rsa,id_rsa.pub文件。其他主机也使用该方式产生密钥文件。

    (如果没有.ssh目录,则使用ssh命令连接一次其他主机就会生成)

    2) 登录hadoop101,输入命令:

    cat id_rsa.pub >> authorized_keys

    将id_rsa.pub公钥内容拷贝到authorized_keys文件中。

    3) 登录其他主机,将其他主机的公钥文件内容都拷贝到hadoop101主机上的authorized_keys文件中,命令如下:

    ssh-copy-id -i hadoop101 #登录hadoop102,将公钥拷贝到hadoop101的authorized_keys中
    
    ssh-copy-id -i hadoop101 #登录hadoop103,将公钥拷贝到hadoop101的authorized_keys中

    拷贝后的authorized_keys内容如下:

    [root@hadoop101 .ssh]# more authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC92MPpDY5H4Rnq9AM1QKPFu6dRlL
    I2oiH/C+eUtDcYM4TQMLV9/Jwk0ffOaWvGIdLYbj/pQC+pZm8i4jWXQ/IDtnC8UlSc
    Qqpa5dkzi3yBZTs6/t6Z5+Hbe0s8cXemqxXllVIitg3VQQ8hZOQss5kl/XS4mN51xA
    fCnuehr1VLOJ3eMjmoIpKtWSzypxaO7GTxHfd/zzZB0fs5u//Sv1uaZKpIHPWCFiNv
    fxDG4KC1mts9LqIf+iQyMrJGCCFxuuIOGvBjqmNDX2dUd7glVCwpiQf2bbw1N7INvf
    OkwoT33hSn0uICGvK36tQYYh8CAyyuh9CUP+TJu+Mz0M0fcNeJ root@hadoop101.
    com
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDX8gcUU5M8RURsxBfSzrdMTjXxJA
    U6UsxLHLxxCa1aiUNrLQyF6QwwZQlmzBpnNjXE9vOtzTfXOAu7m/2YBXDN8tQ4ULFN
    mKF3xt/lZfeYkSiuJmSxOw/BklOJGhwrEwJIaQV7h28Oqx/o2iHyfSbx6BcBDVzzwi
    wBlKThb3EM9J3r9dHynvT0ogGb5KpP/o4pi7inhb7PffB5zq4sz1Q726tq9YsS/uG3
    emJLHj4ovSf4F3FIFPY8mtFuTsIjtuOO2YRTIYyTXd17XqJEVhd+rIYosoLi2oB6U7
    az2HI00j3f+DgB0wbd9zHaI2h2J88a4RhTnAfSCWaWFZyxn19d root@hadoop102.
    com
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCn2yYONHHW25rqBX2X4zUD4qHHXz
    If1wtWaLEi1FYOOrB46aWZxVMV/UTA+AowvH4RVV9nw0rldmG6PaEyrNvUZW0t7wri
    pRNxGTldpm2nBg692gSgLy+gQH4i4nG/r/nxXL05XmH+zUJT7sLZYea2S/pH2NZpIk
    ThusR6hiDyfqcTCB22MhRlkdgIh1MgMdFoDlk5jN4ezra6MBWcNg1VBP4xp70+NhSw
    mt1RutN/puNFkpgUjz5gmOT8ZLZ4R4cwM5H8/ZLljB/8aDkQrneUJ9TIVYAyVZOhD3
    w7NTpJsfulX6ao71PuFSwje0+V2nctPYP6L1litX4S6t5vDgup root@hadoop103.
    com

    3.授权authorized_keys文件

    登录hadoop01,在.ssh目录下输入命令:

    chmod 600 authorized_keys

    4.将授权文件分配到其他主机上

    1) 登录hadoop01,将授权文件拷贝到hadoop02、hadoop03...,命令如下:

    scp /root/.ssh/authorized_keys hadoop102:/root/.ssh/ #拷贝到hadoop102上
    
    scp /root/.ssh/authorized_keys hadoop103:/root/.ssh/ #拷贝到hadoop103上

    或使用xsync同步文件(使用集群同步脚本对配置文件同步分发):

    [root@hadoop101 .ssh]# xsync /root/.ssh/authorized_keys

    2) 至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

  • 相关阅读:
    犀牛书学习笔记(2):对象和数组
    犀牛书学习笔记(1):语法结构、数据类型和值、表达式和运算符
    小学了一下css hack
    git学习系列--六分之一
    稍览了一下CommonJS
    意识流_六分之一
    两升的心思系列之-----粒子的预备
    mybatis_延迟加载
    mybatis_动态SQL
    mybatis_mapper动态代理
  • 原文地址:https://www.cnblogs.com/MWCloud/p/11348601.html
Copyright © 2011-2022 走看看