zoukankan      html  css  js  c++  java
  • 【原创】Linux服务器集群通过SSH无密码登录

    SSH 无密码授权访问slave集群机器
    1. 安装SSH,所有集群机器,都要安装SSH
    环境介绍: 
    Master : CNT06BIG01 192.168.3.61
    SLAVE 1: CNT06BIG02 192.168.3.62
    SLAVE 2: CNT06BIG03 192.168.3.63
    # yum install ssh


    2. 分别在master/slave 1/slave 2机器上制作密钥和公钥,分别执行如下命令
    制作密钥
    # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    制作公钥,将公钥导入authorized_keys
    # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    设置本机无密码登录,执行命令后,选择yes
    # ssh localhost 或 ssh 机器名称 或 ssh 机器IP


    3. 在master机器(CNT06BIG01)上,执行命令,分发公钥给Slave 1/2机器
    3.1 分发给SLAVE 1: CNT06BIG02
    在master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG02:~/.ssh/authorized_keys_from_master
    然后在SLAVE 01机器(CNT06BIG02)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以在Mater机器(CNT06BIG01)上面,无密码登录SLAVE 01机器(CNT06BIG02)
    # ssh CNT06BIG02
    效果如下图
     图片
     
    备注:如果同时想让SLAVE 01(CNT06BIG02)可以无密码登录master(CNT06BIG01),只需执行如下步骤
    在SLAVE 01机器(CNT06BIG02)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG01:~/.ssh/authorized_keys_from_master
    然后master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以SLAVE 01机器(CNT06BIG02)上,无密码登录master机器(CNT06BIG01)上
    # ssh CNT06BIG01
    效果如下图
    图片


    3.2 分发给SLAVE 2: CNT06BIG03
    在master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG03:~/.ssh/authorized_keys_from_master
    然后在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以在Mater机器(CNT06BIG01)上面,无密码登录SLAVE 02机器(CNT06BIG03)
    # ssh CNT06BIG03
    图片
     
    备注:如果同时想让SLAVE 02(CNT06BIG03)可以无密码登录master(CNT06BIG01),只需执行如下步骤
    在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG01:~/.ssh/authorized_keys_from_master
    然后master机器(CNT06BIG01)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以SLAVE 02机器(CNT06BIG03)上,无密码登录master机器(CNT06BIG01)上
    # ssh CNT06BIG01
    效果如下图
    图片
     
     
    3.3 如果让SLAVE 01 (CNT06BIG02)和 SLAVE 02 (CNT06BIG03)之间可以无密码登录,操作步骤如上 3.1 或 3.2。
    在SLAVE 01 (CNT06BIG02)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG03:~/.ssh/authorized_keys_from_master
    然后在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以在SLAVE 01 (CNT06BIG02)上面,无密码登录SLAVE 02机器(CNT06BIG03)
    # ssh CNT06BIG03
    效果如下图
    图片
     
    备注:如果同时想让SLAVE 02(CNT06BIG03)可以无密码登录SLAVE 01(CNT06BIG02),只需执行如下步骤
    在SLAVE 02机器(CNT06BIG03)上,进入~/.ssh目录,执行如下命令
    # scp authorized_keys root@CNT06BIG02:~/.ssh/authorized_keys_from_master
    然后SLAVE 01(CNT06BIG02)上,进入~/.ssh目录,执行如下命令
    # cat authorized_keys_from_master  >>  authorized_keys
    最后,就可以SLAVE 02机器(CNT06BIG03)上,无密码登录master机器(CNT06BIG01)上
    # ssh CNT06BIG02
    效果如下图
    图片
     
    【结束】
    如果要退出ssh远程登录,只需要输入命令exit,
     
    【总结】
    如上面方法,我们知道配置Linux服务器集群之间能够互相无密码ssh登录:
    需要在n台机器之间安装ssh证书和复制公钥,这个复制公钥的动作次数是(n)(n-1)次数。
    很显然是很大的体力活,这个急需寻找更简单的办法或方案。


    【本人原创,欢迎交流和分享技术,转载请附上如下内容:
    如果你觉得这篇文章对你有帮助,请记得帮我点赞, 谢谢!
    作者:kevin【转自】http://www.cnblogs.com/itshare/ 
  • 相关阅读:
    java 简单的spring boot 服务器和文件上传接口(exceeds its maximum报错)
    nodeJs 远程服务器的部署和简单静态Web服务器
    Electron 搭建文件浏览器
    Electron项目的搭建和electron-builder打包
    Nexus搭建私服
    fiddler 抓包工具,抓取微信公众号直播回放视频; blob视频下载;微信视频号内容抓取
    二进制的原码,反码,补码,移码
    《RocketMQ源码系列》mq启动流程
    一条查询sql执行流程
    《springboot源码系列》——内置tomcat启动原理
  • 原文地址:https://www.cnblogs.com/itshare/p/6685783.html
Copyright © 2011-2022 走看看