zoukankan      html  css  js  c++  java
  • 配置集群模式下的ssh免密码登录

    在使用hadoop配置集群模式时,必然要使用ssh进行各个机器之间的免密码登录。

    环境准备:

      集群模式下会有多个主机,而本教程使用的主机名和IP地址如下:

    192.168.1.160    master
    192.168.1.161    slave1

    一、安装ssh服务:

      若系统中没有安装ssh服务,则要在每台机器中都安装ssh服务

      redhat,fedora,centos等系列linux发行版,命令如下:

    sudo yum install sshd

      debian,ubuntu,linux mint等系列的linux发行版,命令如下:

    sudo apt-get install sshd

      按照提示安装之后,需要开启ssh服务

    sudo service sshd start

      查看ssh服务状态

    sudo service sshd status

    二、生成公钥和私钥

      本节中需要使用ssh中的两个命令:ssh-keygen  产生公钥与私钥对,ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中

      首先修改hosts文件,vi /etc/hosts,如下:

    #127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    #::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.160 master
    192.168.1.161 slave1

      登录master,使用rsa算法生成公钥和私钥:

    ssh-keygen -t rsa 

      进入~/.ssh目录,可看到已经生成私钥id_rsa,公钥id_rsa.pub

    cd ~/.ssh
    id_rsa  id_rsa.pub 

    三、对其他用户进行授权  

      新建authorized_keys文件,将master的公钥id_rsa.pub内容追加到authorized_keys文件中,注意是追加,而不是覆盖

    cat id_rsa.pub >> authorized_keys

      使用ssh登录master时,只要authorized_keys文件中保存有master的公钥信息,即可实现免密登录。同理,登录salve1时也需要authorized_keys文件中有slave1的公钥信息。

      登录slave1,同样使用ssh-keygen产生公钥和私钥对,使用ssh-copy-id将slave的公钥追加到master的authorized_keys文件中

    ssh-copy-id -i master  #将slave的公钥追加到master的authorized_keys文件中

      登录master,将authorized_keys文件拷贝到slave1上,命令如下:

    scp ~/.ssh/authorized_keys slave1:~/.ssh/ #拷贝到slave1上,需要输入用户名和密码
  • 相关阅读:
    sourcetree删除github远程仓库文件
    怎样去掉wordpress中默认的未分类目录
    解决LNMP环境无法显示所有WordPress主题及无法编辑主题页面
    炫龙笔记本组合快捷键
    原版win10
    whmcs之全民idc
    putty登陆sourceforge.net(设置登录)
    putty登陆sourceforge.net(密钥的设置)
    当android studio一直显示gradle compile dependency
    android与后台请求的例子
  • 原文地址:https://www.cnblogs.com/meng9688/p/10213939.html
Copyright © 2011-2022 走看看