美文网首页
Linux间实现ssh免密登入

Linux间实现ssh免密登入

作者: zycxnanwang | 来源:发表于2018-09-09 16:25 被阅读0次

    Linux间实现ssh免密登入

    在搭建hadoop环境时,要实现机器间的免登入,我通过网上查资料,差不多熟悉了实现的方法,所以整理一下, 避免自己忘记,也给别人一个参考!

    • 三台机器的属性:

      name:master      ip:192.168.234.12     operatesystem:centos 6.3    主节点
      name:slave1      ip:192.168.234.13     operatesystem:centos 6.3    子节点1
      name:slave2      ip:192.168.234.14     operatesystem:centos 6.3    子节点2
      
      • 三个机器的hadoop用户都为learn,即三台机器操作环境为learn用户

      • 操作前修改一下/etc/hosts文件,将这三个ip都添加进去(三台机器都需要进行这个步骤

      • 命令:vi /etc/hosts

      • 将一下内容添加进去:

      192.168.234.12  master
      192.168.234.13  slave1
      192.168.234.14  slave2 
      #千万别写错,如果写错,以后的操作会报错
      
    1. 第一步

      • 首先在各个机器中生成id_dsa.pub

      在各个机器中输入以下命令 ssh-keygen -t rsa :生成公共密钥 之后按三次回车就可以了,

      你查看/home/learn/.ssh目录就会发现多了两个文件,分别为id_rsa, id_rsa.pub

      • 再将目录中的id_dsa.pub,复制一份并改名为authorized_keys(每台机器都需要)

        命令:cp /home/learn/.ssh/id_rsa.pub /home/learn/.ssh/authorized_keys

    2. 第二步:

      • 将slave1节点和slave2节点的authorized_keys 追加到master的authorized_keys

        换句话说就是,将slave1和slave2的authorized_keys里的东西复制粘贴到master的authorized_keys master的authorized_keys就有了三个公共密钥

      • 具体的操作命令:

      scp /home/learn/.ssh/authorized_keys
      learn@192.168.234.12:/home/learn/authorized_keys1
      #在节点1的操作
      
      scp  /home/learn/.ssh/authorized_keys  learn@192.168.234.12:/home/learn/authorized_keys2
      #在节点2的操作之后你就会发现master的/home/learn/.ssh目录多了两个来自节点1和节点2的公共密钥
      
      • 在master上的操作:​

        cat  /home/learn/.ssh/authorized_keys1 >> /home/learn/.ssh/authorized_keys
        cat  /home/learn/.ssh/authorized_keys2  >> /home/learn/.ssh/authorized_keys  执行#后master的authorized_keys文件中就有了三个公共密钥了 
        
    3. 第三步:

      • 用master上的/home/learn/.ssh/authorized_keys替换节点1,节点2的authorized_keys文件

      • 在master上的操作

      scp  /home/learn/.ssh/authorized_keys learn@192.168.234.13:/home/learn/.ssh/authorized_keys
      #替换节点1
      
      scp  /home/learn/.ssh/authorized_keys learn@192.168.234.14:/home/learn/.ssh/authorized_keys
      #替换节点2
      
    4. 第四步:

      • 通过前面的三步你发现,并不能免密码登入,这时候就需要第四步,改权限

      • 对三台机器都使用下面的命令:

        chmod 600 /home/learn/.ssh/authorized_keys 必须拥有root权限

    5. 检验:ssh 192.168.234.13 (我用的是远程登入工具,在master内的操作)

      ssh 192.168.234.14(这时候你就可以不用输入密码,直接登入)

    相关文章

      网友评论

          本文标题:Linux间实现ssh免密登入

          本文链接:https://www.haomeiwen.com/subject/sghdgftx.html