• 虚拟机centos6.5 --ssh免密码登录


    说明:此处是以hadoop虚拟机3台机器为背景进行设置,即master、slave01、slave02

    1、在master上,生成公钥、私钥

       用hadoop用户登录系统,进入个人主目录,即/home/hadoop,执行命令 

    ssh-keygen -t rsa -P ''
    

       说明:以rsa算法,生成公钥、私钥,-P '',表示是空密码;该命令执行完后,会在个人主目录下生产.ssh目录,里面会有两个文件,id_rsa(私钥)和id_rsa.pub(公钥);该目录为隐藏目录,可用以下命令查看:

    ls -lah
    

    2、导入公钥

       进入.ssh目录,执行以下命令:

    cat id_rsa.pub >> authorized_keys
    
    chmod 600 authorized_keys #修改文件权限

       本机测试,ssh localhost,如果不需要密码可以登录,说明连接成功。

    3、在其他机器上同样生成公钥、私钥,并将公钥文件复制到master机器

       3.1 用hadoop用户登录到slave01、slave02,执行 ssh-keygen -t rsa -P '' 生成公钥、私钥

       3.2 用scp将公钥文件拷贝到master机器上

          slave01: scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_01.pub

          slave02: scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_02.pub

          执行后,在master机器上,查看/home/hadoop目录,里面会有id_rsa_01.pub和id_rsa_02.pub两个文件,然后在master机器上,导入这两个公钥

          cat id_rsa_01.pub >> .ssh/authorized_keys

          cat id_rsa_02.pub >> .ssh/authorized_keys

          这时,master机器就有3台机器的公钥了。

    4、将master上的公钥,复制到其他机器上

       4.1 在master机器上执行以下命令 

    scp .ssh/authorized_keys hadoop@slave01:/home/hadoop/.ssh/authorized_keys
    scp .ssh/authorized_keys hadoop@slave02:/home/hadoop/.ssh/authorized_keys
    

       4.2 在其他机器上修改authorized_keys文件的权限

    chmod 600 .ssh/authorized_keys
    

    5、验证

      每两台机器之间进行互连,看是否能无密码登录,命令:ssh 机器名。

      常见错误1:提示 bash: ssh: command not found

      解决:yum -y install openssh-clients

      常见错误2:在使用scp的时候会让输入master机器的hadoop用户密码

      解决:提前把hadoop的密码设置好,passwd hadoop

  • 相关阅读:
    处理键盘弹出
    纯手码自动布局
    ios 随机色 宏定义
    linux下自定义pid实现任意数据采集
    http://blog.chinaunix.net/uid-9845710-id-1996675.html snmpd配置
    http://www.360doc.com/content/10/0928/12/11991_57014502.shtml
    pingall脚本
    http://lihuipeng.blog.51cto.com/3064864/643960
    elf 文件
    php中获取周几的方法
  • 原文地址:https://www.cnblogs.com/bookwed/p/4809390.html
Copyright © 2020-2023  润新知