Linux服务器配置SHH免密互通

服务器A 172.25.11.11,
服务器B 172.25.11.12

在服务器 A 上配置

假设服务器 A 的IP地址为 172.25.11.11,我们将在这台服务器上生成密钥对并将公钥复制到服务器 B 上。

  1. 生成密钥对

    打开终端,执行以下命令生成密钥对。在生成过程中,你可以选择保留默认路径和设置空密码以简化使用,也可以根据需要进行修改。

     

    当执行 ssh-keygen -t rsa 命令后,系统会提示你输入几个选项。下面是各个选项的解释和建议的操作:

    1. Enter file in which to save the key (/root/.ssh/id_rsa)

      • 默认情况下,系统会建议你保存密钥的路径和文件名。按回车键接受默认的路径和文件名通常是最简单的选择。如果你有特殊需求,可以输入自定义的路径和文件名,例如 /path/to/your/ssh/key.
    2. Enter passphrase (empty for no passphrase)

      • 这一步是为你的私钥设置一个密码。密码可以为空,也可以输入一个密码来加强私钥的安全性。如果你希望私钥在使用时不需要输入密码,则直接按回车键即可留空。

    这将生成两个文件:

    • ~/.ssh/id_rsa:私钥文件
    • ~/.ssh/id_rsa.pub:公钥文件   在 /root/.ssh目录下

      复制公钥到服务器 B

      使用 ssh-copy-id 命令将服务器 A 的公钥复制到服务器 B 上。在终端执行以下命令

    • 这会提示输入服务器 B 的密码(usernameB 的密码),然后这个命令会将本地的公钥 ~/.ssh/id_rsa.pub 的内容追加到服务器 B 上的 ~/.ssh/authorized_keys 文件中。

    • 验证 SSH 代理是否正常工作

      可以运行以下命令来查看当前 SSH 代理中已加载的私钥:

       如果提示Could not open a connection to your authentication agent.

      表示你的系统中没有运行 SSH 代理(SSH agent),因此 ssh-add 命令无法将私钥添加到代理中。SSH 代理负责管理私钥并在需要时提供给 SSH 客户端。

      解决方法:

      要解决这个问题,

      1. 启动 SSH 代理

        在终端中运行以下命令来启动 SSH 代理:

        这会启动 SSH 代理并设置必要的环境变量。

        添加私钥到 SSH 代理

        现在再次运行 ssh-add 命令,将本机私钥添加到 SSH 代理中:

         

         如果私钥设置了密码,此时可能需要输入私钥密码。如果私钥没有密码,则直接执行命令即可。


         

        设置权限(如果需要):

        确保以下目录和文件权限设置正确,这是为了确保SSH可以安全地使用你的密钥对进行认证。

       ssh-add ~/.ssh/id_rsa
      chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
       
      配置A到B的已经完成,B到A一样的步骤
posted @   一只竹节虫  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示