zoukankan      html  css  js  c++  java
  • 集群中配置多台机器之间 SSH 免密码登录

    集群中配置多台机器之间 SSH 免密码登录


    问题描述

    由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署。

    但是,这就涉及到机器间的 SSH 免密码互通问题。

    当集群机器比较多的时候,如何能快速简洁地配置机器之间的免密码登录呢?


    完美方案

    1、分别查看集群的机器上,是否安装了 SSH,并且服务正常运行

    ps -ef | grep ssh

    2、如果步骤 1 检查后,确认没有安装 SSH,可以通过如下命令安装 SSH

    sudo apt-get install ssh

    找到隐藏目录.ssh(ll -a 可以查看隐藏文件和隐藏目录)。如果没有这个目录,可以使用 mkdir .ssh 命令新建。

    3、进入.ssh目录下面,在每台机器上执行如下命令(一路回车,产生密钥):

    ssh-keygen -t  rsa

    4、完成第3步后会产生两个文件:

    id-rsa私钥

    id-rsa.pub  (公钥

    5、在第 1 台机器的.ssh目录下执行如下命令(此后.ssh目录下会出现authorized_keys文件)

    cat id-rsa.pub >> authorized_keys

    6、将第1台机器的.ssh目录下面的 authorized_keys 文件拷贝到第 2 台计算机的.ssh目录下

    scp authorized_keys root@node2:/root/.ssh/

    7、登录第2台机器,在第2台机器的.ssh目录下,执行如下命令(将第2台机器的公钥追加authorized_keys 中)

    cat id-rsa.pub >> authorized_keys.

    8、依次类推,直到集群中的最后一台机器的公钥添加到 authorized_keys 中 。

    9、在集群的最后一台机器执行完追加后,生成的 authorized_keys 文件就包含集群中所有机器的公钥。

    此时,将最后一台机器上的 authorized_keys 文件,分别 scp 复制到集群中的每一台机器的.ssh目录下,覆盖原来的authorized_keys 文件。

    10、完成第 9 步后,集群中的机器之间就实现了 免密码ssh登录。

  • 相关阅读:
    JVM01---简介
    SpringBoot-01创建项目,实例
    git的三种提交方式(目前两种)
    Spring-事务
    JDK及CGLIB动态代理-AOP4种增强
    Spring-静态代理
    Spring-Aop
    初识jvm-1.Java类的加载机制
    java公开课-06-实用类
    java公开课-05-集合及Socket网络编程(简介)
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/11809759.html
Copyright © 2011-2022 走看看