跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Linux 环境下配置 SSH 免密登录与互信详解

记录在 Linux 系统中配置 SSH 免密登录的具体步骤,涵盖密钥生成、公钥分发、权限设置以及常见故障排查。通过调整防火墙状态、使用 ssh-keygen 创建密钥对、利用 scp 或 ssh-copy-id 同步 authorized_keys 文件,并严格校验目录与文件权限,可实现主机间的无密码互信访问。针对 Agent 签名失败、权限拒绝及服务异常等典型问题,提供了具体的命令修复方案。

月光旅人发布于 2016/4/14更新于 2026/7/1632 浏览
Linux 环境下配置 SSH 免密登录与互信详解

Linux 环境下配置 SSH 免密登录与互信详解

场景说明

假设我们有两个节点:

  • 主机 A:10.0.5.199
  • 主机 B:10.0.5.198 目标是让主机 A 能够免密登录到自身及主机 B。

前置准备

确保所有主机的防火墙已关闭,避免端口拦截。

生成密钥对

在主机 A 上操作,进入 .ssh 目录并生成 RSA 密钥:

cd ~/.ssh
ssh-keygen -t rsa

一路回车即可,默认会将私钥保存在 id_rsa,公钥在 id_rsa.pub。

分发公钥

将生成的公钥复制为 authorized_keys 文件,这样本机就能免密登录了:

cp id_rsa.pub authorized_keys

此时尝试 ssh localhost,应该无需输入密码。

接下来把这份授权文件发给主机 B。可以使用 scp 传输,或者更推荐直接用 ssh-copy-id 工具(如果系统支持):

scp authorized_keys [email protected]:~/.ssh/
chmod 600 ~/.ssh/authorized_keys

注意权限设置,SSH 对权限非常敏感,authorized_keys 必须是 600,.ssh 目录必须是 700。

常见问题排查

配置完成后若仍提示需要密码,或出现报错,可参考以下方案:

  1. Agent 签名失败 如果出现 Agent admitted failure to sign using the key,说明私钥未加载到代理中:

    ssh-add
    

    强制将私钥加入代理缓存。

  2. 权限问题导致无法免密 如果没有报错但依然要输密码,检查被连接主机(如主机 B)上的权限:

    chmod o-w ~/
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  3. SSH Agent 状态异常 检查代理进程是否存活:

    ps -Af | grep agent
    

    如果有残留进程,先 kill 掉再重启;或者直接执行 ssh-agent 开启新会话。若仍不行,尝试重启 SSH 服务:

    sudo service sshd restart
    
  4. 连接认证代理失败 执行 ssh-add 时报错 Could not open a connection to your authentication agent,可以尝试指定 shell 启动代理:

ssh-agent bash

完成上述步骤后,通常就能实现稳定的 SSH 互信环境了。

目录

  1. Linux 环境下配置 SSH 免密登录与互信详解
  2. 场景说明
  3. 前置准备
  4. 生成密钥对
  5. 分发公钥
  6. 常见问题排查
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Git 默认使用 Vim 及修改最近两次提交信息推送远程
  • TwinRL-VLA:数字孪生驱动的机器人强化学习与现实应用
  • 基于 YOLO26 的无人机视角河道水面垃圾检测系统
  • Android 开发工程师面试核心知识点与准备指南
  • C++ 随机生成 RxC 列联表及源码实现
  • C++ 哈希表封装 myunordered_map 与 unordered_set:底层原理及实现
  • Python 网络爬虫技术入门与实战指南
  • 八大排序算法详解与性能对比分析
  • 前端常见渲染方式对比与实现详解
  • 13个开发工具速览:从编辑器到部署的常用选择
  • Python 程序性能优化的 7 个关键习惯
  • 前端内容创作 Agent 的提示词设计与落地
  • 基于 Q-Learning 的无人机三维动态避障路径规划研究
  • MCP 集成实战:连接 AI 与外部系统
  • 自然语言处理在金融领域的应用与实战
  • RAG 全栈技术最新进展与核心组件深度解析
  • Git 2.53.0 Windows 安装与 SSH 免密配置详解
  • JavaScript 逆向断点调试与前端加密对抗实战
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调指南
  • C++ STL 算法详解

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online