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登录。

  • 相关阅读:
    Dubbo
    支持微服务架构落地的Java框架
    thinkphp6的主要特性
    thinkphp5的主要特性
    RPC
    HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比
    RabbitMQ 生产环境配置详解
    分布式AKF拆分原则
    通过Hystrix了解分布式接口级的高可用
    Python中使用grpc与consul
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/11809759.html
Copyright © 2011-2022 走看看