• Linux 双向 SSH 免密登录


    原理

    双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录。双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有机器的公钥。

    步骤

    假设,你有两台机器,ip分别为AB

    总共分为三步:

    1. 生成公钥
    2. 将A机器的公钥拷贝至B机器
    3. 将B机器的公钥拷贝至A机器

    生成公钥

    如下命令生成公钥,默认会在~/.ssh/下生成id_rsaid_rsa.pub。先检查一下机器是否已有公钥,如果没有再执行:

    ssh-keygen -t rsa
    

    -t 指定算法
    -f 指定生成秘钥路径
    -N 指定密码

    拷贝公钥

    cd ~/.ssh
    scp id_rsa.pub root@B:/root/.ssh/authorized_keys #此命令在A机器执行,目的将公钥发送至B机器
    scp id_rsa.pub root@A:/root/.ssh/authorized_keys #此命令在B机器执行,目的将公钥发送至B机器
    

    scp: 加密的方式在本地主机和远程主机之间复制文件

    参数:

    • 源文件:指定要复制的源文件。也可以是远程地址
    • 目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)

    验证

    ssh B #在A机器上,看是否免密登陆B
    ssh A #在A机器上,看是否免密登陆B
    

    如果发现设置免密登陆,还需要输入密码,那么检查一下/root .ssh authorized_keys目录和文件的权限。

    chmod 600 authorized_keys 
    chmod 700 .ssh
    

    如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。

    参考

  • 相关阅读:
    第5章 构建Spring Web应用程序
    第4章 面向切面的Spring
    第3章 高级装配
    js json和字符串的互转
    webservice CXF入门服务端
    javascript的解析执行顺序
    java AES加密解密
    redis学习 java redis应用
    项目部署操作linux数据库mysql出现表找不到
    灯具板SOP
  • 原文地址:https://www.cnblogs.com/michael-xiang/p/10466926.html
Copyright © 2020-2023  润新知