码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • windows,linux,ssh免密登录


    文章目录

        • linux与linux相互免密登录
            • 分别在两条主机上生成密钥对
            • .ssh文件夹有哪些内容
            • 免密登录的实现
            • 相互免密登录
            • known_hosts作用
            • 主机之间用户不一致解决
        • windows和linux相互免密登录
          • 自动分发脚本

    linux与linux相互免密登录

    分别在两条主机上生成密钥对
    • 使用命令ssh-keygen -t rsa 生成密钥对,期间可以设置密钥对的存放位置和密钥对的密码,直接三个回车跳过即可(一定不能设置密码)
    • image-20221114144351820
    • 生成完之后会在用户目录下生成生成.ssh文件夹,里面包含公钥,私钥和一些配置文件(如果你已经有了公钥和私钥,可以不用再次生成)
    .ssh文件夹有哪些内容
    • id_rsa 私钥
    • id_rsa.pub 公钥
    • authorized_keys 客户端的公钥列表
    • known_hosts 信任列表
    • config
    免密登录的实现
    1. 假设A需要免密登录B
    2. 将A的公钥拷贝到B的authorized_keys中即可(一行一个)
    相互免密登录
    1. 将公钥拷贝到对方的authorized_keys中和本机的authorized_keys中即可
    2. 为什么要拷贝到本机,ssh是可以连自己的,如果不拷到本机,当连本机的时候就需要输入密码
    3. 三台或多台,把所有的公钥收集到一个authorized_keys,然后拷贝到所有主机即可(主机过多可以使用自动分发脚本)
    known_hosts作用
    • 此文件一般不做修改,每当 当前主机第一次其他主机(陌生主机)时,就会提示要求输入yes,就会在此文件写一条记录,之后再次连接就不再陌生
    主机之间用户不一致解决
    • ssh默认使用当前用户去连接远程主机,当然,可以使用ssh user@host的方式指定用户
    • 可在config文件中配置
      • image-20221114151004157
      • 上图配置连接主机lucky和lucky2时使用lucky用户
      • config还有一些的其他的可用配置项,如:指定密钥对实现分组密钥

    windows和linux相互免密登录

    • 首先windows得安装openSSH client和openSSH server分别用来连接和被连接

    • 在这里插入图片描述

    • 接着在[服务]中把以下两个服务启动,并且设置启动方式为自动

    • 在这里插入图片描述

    • 其余步骤和linux一致,需要注意的是,windows默认authorized_keys不放在用户目录的.ssh文件夹下,而是放在ProgramData的ssh文件夹下,名为administrators_authorized_keys文件,因为其在ProgramData/ssh/sshd_config中配置了

    • 在这里插入图片描述

    • 所以需要将公钥信息写到此文件中,也可以将这两行注释掉(注释掉之后就和linux一致了),或者改成其他地方

    自动分发脚本
    • 主机过多时可以使用此脚本进行文件同步,循环处根据需要更改

    • #!/bin/bash
      #1获取输入参数个数,如果没有参数,直接退出
      pcount=$#
      if((pcount==0)); then
      echo no args;
      exit;
      fi
      
      #2获取文件名称
      p1=$1
      fname=`basename $p1`
      echo fname=$fname
      
      #3获取上级目录到绝对路径
      pdir=`cd -P $(dirname $p1); pwd`
      echo pdir=$pdir
      
      #4获取当前名称
      user=`whoami`
      
      #5循环 此处分发到 c1,c2,c3主机
      for((host=1; host<4 ; host++)); do
              echo ---------------- c$host ----------------
              rsync -rvl $pdir/$fname $user@c$host:$pdir
      done
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
  • 相关阅读:
    springboot嘉应房地产公司质量管理系统毕业设计源码453100
    网易有道财报:网易有道2023财年收入将强劲增长,亏损将减少?
    【每日一题】统计无向图中无法互相到达点对数
    腾讯 13 年,我所总结的Code Review终极大法
    Reptile_urllib的基本使用
    Linux网络通信(线程池和线程池版本的服务器代码)
    ByteHouse云数仓版查询性能优化和MySQL生态完善
    mysql 触发器使用详解
    关于排序算法的小结
    视频监控管理平台EasyCVR自动注销后,页面还存留播放窗口是什么原因?解决办法是什么?
  • 原文地址:https://blog.csdn.net/m0_43408858/article/details/127849061
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号