zoukankan      html  css  js  c++  java
  • Linux下多节点SSH无密码互联实现

    需求:有3个主机192.168.0.191、192.168.0.192、192.168.0.193,需要实现无密码ssh互联访问

    我使用的是root用户进行操作的:

    1、每个节点分别检查是否安装openssh (每个节点都做):如果没有安装ssh,则需要先安装,执行命令:

    sudo apt-get install ssh

    2、每个节点分别生成公钥和私钥:

    ssh-keygen -t rsa

    以上命令执行后,进行3次回车就行,其中-t后面的参数是指使用的加密协议类型,可以是rsa或者dsa,生成的公钥文件为~/.ssh/id_rsa.pub,私钥文件是~/.ssh/id_rsa,我们用到的是公钥文件。

    3、每个节点上面分别执行公钥拷贝:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    4、把其他节点的id_rsa.pub也就公钥添加到本节点然后分发给其他节点【即公钥合并后共享】:

        我是在192.168.0.192节点上面进行合并的,所以我在192.168.0.192上面依次执行命令为:

    ssh 192.168.0.193 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    ssh 192.168.0.191 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    scp ~/.ssh/authorized_keys 192.168.0.193:~/.ssh/authorized_keys
    
    scp ~/.ssh/authorized_keys 192.168.0.191:~/.ssh/authorized_keys

    在上面的命令中,当执行完第2条时,可以查看cat ~/.ssh/authorized_keys查看文件,文件内容已经变成了3行,就是包含了3个节点的公钥。

    5、测试

       我是在192.168.0.192上面测试的,我首先在192.168.0.193上面建立了文件 ~/hello.txt 。

    ssh 192.168.0.193 ls ~

    此时,不需要输入密码即可看到刚刚创建的文件。可以其余节点之间多ssh试试,结果都是一样的。

  • 相关阅读:
    操作系统-多进程图像
    025.Kubernetes掌握Service-SVC基础使用
    Linux常用查看版本指令
    使用动态SQL处理table_name作为输入参数的存储过程(MySQL)
    INTERVAL 用法 mysql
    sql server编写archive通用模板脚本实现自动分批删除数据【填空式编程】
    docker部署redis集群
    Ubuntu1804下安装Gitab
    Bash脚本编程学习笔记06:条件结构体
    KVM虚拟化基础
  • 原文地址:https://www.cnblogs.com/klbc/p/8467340.html
Copyright © 2011-2022 走看看