码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux-配置服务器之间 ssh免密登录


    前言

    在管理多台Linux服务器时,为了方便操作和自动化任务,实现服务器之间的SSH免密登录是非常有必要的。SSH免密登录可以避免每次远程连接时输入密码,大大提高效率。本文将详细介绍SSH免密登录的原理和实现步骤。

    一、原理解释

    SSH免密登录的实现依赖于SSH密钥对,主要是利用公钥加密技术进行身份验证。具体过程如下:

    在客户端生成一对SSH密钥(公钥和私钥)
    将客户端的公钥复制到目标服务器的authorized_keys文件中
    当客户端尝试SSH连接服务器时,服务器将使用该公钥进行身份验证
    如果身份验证通过,客户端就可以登录服务器而无需输入密码

    二、实现步骤

    • 检查是否存在密钥对

      ls ~/.ssh
      

      如果存在id_rsa和id_rsa.pub两个文件即为已有密钥对。
      生成密钥对(如果未生成)

    • 生成密钥对

      # 一路回车则可顺利生成
      ssh-keygen -t rsa
      
    • 将公钥复制到目标服务器

      # user 替换为登录目标服务的用户  server 替换为目前服务的ip 或者host 
      ssh-copy-id user@server
      # 例如
      ssh-copy-id root@192.168.1.1
      # 输入目标服务器密码后即可完成复制。
      
      

      在这里插入图片描述

    • SSH连接测试

      # user 替换为登录目标服务的用户  server 替换为目前服务的ip 或者host 
      ssh user@server
      

      此时应该可以直接登录而无需输入密码。

    • 免密登录其他服务器
      对于需要登录的其他服务器,重复步骤3和4即可。

    • (可选) SSH免密登录时指定密钥
      如需指定使用特定的密钥对进行连接,可使用:

      # user 替换为登录目标服务的用户  server 替换为目前服务的ip 或者host 
      ssh -i 私钥文件 user@server
      

    注意事项: 密钥对的权限设置很重要,私钥文件权限应为600,公钥文件权限可为644。
    安全考虑,私钥文件不应复制到其他服务器,只能由客户端自身持有。
    SSH免密登录会带来一定的安全隐患,因此生产环境时需评估风险。

    三. hadoop官方文档实现免密的步骤

    • 需要免密的每个机器上执行 如下命令
       # 生成ssh 公私钥 如果存在会进行覆盖提示
       ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
       # 将公钥文件 写到ssh authorized_keys 文件中
       cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
       # 授权600 
       chmod 0600 ~/.ssh/authorized_keys
      
    • 将每个机器的 authorized_keys 文件合并,同时将合并后的文件内容 复制到每个机器的ssh authorized_keys 文件中 并保存即可
    • 测试
    # 更换为具体需要测试的IP 或者 hostname
    ssh 192.168.x.x
    

    参考文件: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

    end


    good day !!!

  • 相关阅读:
    RustGUI学习(iced)之小部件(一):如何使用按钮和文本标签部件
    java毕业设计牧场奶牛疾病信息管理系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试java毕业
    AI伦理:如何确保人工智能的公平与透明
    半同步复制与MHA高可用架构设计
    前端面试话术集锦第 13 篇:高频考点(Vue常考进阶知识点)
    PostCSS通过px2rem插件和lib-flexible将px单位转换为rem(root em)单位实现大屏适配
    学生护眼灯国A与AA哪个牌子好?推荐国AA级的学生护眼台灯
    对可再生能源和微电网集成研究的新控制技术和保护算法进行基线和测试及静态、时域和频率分析研究(Matlab代码实现)
    Spring【Bean的作用域与生命周期】
    详解Spring面试IoC和AOP
  • 原文地址:https://blog.csdn.net/a15835774652/article/details/139143062
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号