50% 折扣 所有计划,时间有限。开始于 $2.48/mo
还剩 10 分钟
安全与网络

警告:远程主机标识已更改以及如何修复它

雷克萨·赛勒斯 By 雷克萨·赛勒斯 10 分钟阅读 更新于 52 天前
终端窗口显示有关远程主机标识更改的 SSH 警告消息,并在深青色背景上显示“修复指南”标题和 Cloudzy 品牌。

SSH 是一种安全网络协议,可在系统之间创建加密隧道。它仍然受到需要远程访问计算机而不需要图形用户界面的开发人员的欢迎。虽然 SSH 已经存在了几十年,并且可靠地为无数用户提供服务,但它仍然可能受到某些错误的影响。

其中许多错误已在 SSH 社区中广为人知,并且其解决方法已被广泛记录。这些包括 防火墙不兼容, SSH公钥注入问题, SSH文件密钥模式问题,以及“警告:远程主机标识已更改”错误。

所有主要操作系统都会出现此错误,包括 Windows、Linux 和 macOS。问题的根源可能是合理的安全问题,而不是简单的技术故障。在本文中,我们将解释为什么会发生这种情况、这对 SSH 连接安全意味着什么,以及如何在每个主要平台上解决它。

触发警告的原因:远程主机标识已更改(您应该担心吗?)

当 SSH 公钥存储在您的计算机中时,会出现“警告:远程主机标识已更改” 已知主机 文件与服务器当前提供的密钥不匹配。这种不匹配会触发 SSH 的内置安全机制来保护您免受潜在威胁。

主机密钥更改的合法原因

几个无辜的原因解释了为什么服务器的主机密钥可能会改变。有时,您会看到诸如“RSA 主机密钥已更改”之类的变体,具体取决于所使用的特定密钥类型。

显示修改 SSH 主机密钥的服务器更改的信息图,包括操作系统升级、服务器重建、备份恢复、物理到虚拟迁移和 SSH 配置重置。
服务器相关的更改:

  • 服务器操作系统已重新安装或升级
  • 服务器已重建或从备份恢复
  • 服务器的 SSH 配置已重置
  • 物理机或虚拟机被更换
  • 服务器迁移到新硬件

网络配置更改:

  • 云提供商会随着时间的推移回收 IP 地址,或者您的连接通过负载均衡器进行路由。
  • DHCP 将 IP 地址重新分配给另一台计算机
  • 退役服务器的 IP 已分配给新系统
  • DNS 记录已更新以指向不同的服务器

显示 DHCP 服务器向虚拟机分配动态 IP 地址的网络图,服务器停用和重新发布会导致 SSH 主机密钥冲突。

主要管理行动:

  • 出于安全目的,系统管理员手动重新生成主机密钥
  • SSH服务器软件已重新安装
  • 安全策略需要密钥轮换

重要的是要认识到用户密码更改不会影响主机密钥。它们代表单独的身份验证机制。仅当修改服务器本身或其 SSH 配置时,主机密钥才会更改。

何时认真对待警告

虽然许多主机密钥更改是合法的,但这可能表明存在真正的安全威胁。如果出现以下情况,您应该担心:

  • 您没有对服务器进行任何更改,也不知道任何计划维护
  • 您无法与服务器管理员验证密钥更改的原因
  • 通过公共网络或不受信任的连接访问服务器
  • 您正在连接到包含敏感数据的生产系统或服务器


分屏比较以绿色显示的合法 SSH 更改与以红色显示的安全威胁场景,其中带有代表中间人攻击的蒙面人物。
中间人攻击虽然相对罕见,但确实会发生。在此类攻击中,攻击者会将自己置于您的计算机和合法服务器之间,拦截所有流量。

人为错误 社会工程占安全漏洞的 68%,因此保持警惕至关重要。您可以通过了解进一步保护您的系统 暴力攻击预防。

IBM 的最新统计数据显示,全球平均成本 数据泄露 2025 年将达到 444 万美元,检测时间平均为 8 个月。这说明了为什么 SSH 的主机密钥验证机制存在,以及为什么您不应该在没有调查的情况下忽略这些警告。

如何验证警告是否安全

在继续解决问题之前,请执行以下验证步骤:

流程图显示了确认合法 SSH 主机密钥更改的五种验证方法,包括团队咨询、托管提供商联系、安全通道和指纹比较。

  1. 与您的团队核实: 如果您共享服务器访问权限,请询问同事是否进行了更改
  2. 查看服务器日志: 检查维护记录或更改日志以了解最近的活动
  3. 联系您的托管提供商: 如果使用云服务,请验证是否进行了维护
  4. 使用安全通道: 如果可能,通过已知的安全网络连接以验证指纹
  5. 比对指纹: 一些托管提供商在其控制面板中显示当前的 SSH 指纹

如果您可以确认密钥更改是合法的,则可以安全地继续删除旧密钥并接受新密钥。

如果您想避免动态 IP 重新分配或主机密钥冲突,您选择的基础设施将发挥重要作用。

Cloudzy提供 SSH VPS 托管 具有专用的静态 IP。您可以在具有 NVMe 存储的 AMD Ryzen 9 处理器上运行,以便即时执行命令。我们的网络在全球 12 个地点达到 40 Gbps。此外,我们还提供免费的 DDoS 保护,以确保您的连接安全。

如何修复“远程主机标识已更改”错误

修复方法很简单:从系统中删除旧的密钥记录。这会清除不匹配的情况,并让您在下次连接时保存新密钥。查看我们的指南 SSH 客户端 以获得更多工具。

另外,您可以使用单个命令或手动编辑文件来完成此操作。

方法 1:命令行(最快)

此方法适用于 macOS、Linux 和 Windows 10+(使用 OpenSSH)。这是解决错误的最快方法。欲了解更多信息,您可以阅读 ssh-keygen 手册页

  1. 打开你的终端。
  2. 运行此命令(替换 主机名 与您的服务器的 IP 或域): 
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it.  Method 2: Manual File Editing (macOS)

如果您更喜欢可视化编辑器,您可以自己删除该键。错误消息通常会准确告诉您要删除的行号。

打开终端并使用以下命令编辑文件 纳米:

nano ~/.ssh/known_hosts

从错误消息中找到该行。删除它,然后按 Ctrl + XY 保存。

macOS 终端窗口显示 Nano 文本编辑器使用known_hosts 文件打开,突出显示要删除的行以及显示的编号步骤和保存说明。

Windows 解决方案

Windows 用户通常使用内置的 OpenSSH 客户端或 PuTTY。

选项 1:Windows OpenSSH (Windows 10/11)

在 Windows 10 和 11 上,OpenSSH 是一项可选功能。通过“设置”>“应用程序”>“可选功能”添加它。 Server 2025 包含客户端,但您必须将其打开。

如果您使用 PowerShell 或命令提示符, ssh 密钥生成器 方法 1 中的命令也适用于此。

要手动编辑文件:

  1. Windows 键 + R.
  2. 类型 %USERPROFILE%\.ssh 并按 进入.
  3. 打开 已知主机 用记事本保存文件。
  4. 删除导致错误的行并保存文件。

要正确管理密钥,请参阅我们的指南 在 Windows 中生成 SSH 密钥.

选项 2:使用 PuTTY

PuTTY 将密钥存储在 Windows 注册表中而不是文件中。

  1. 打开注册表编辑器(按 Windows 键 + R, 类型 注册表编辑器,并击中 进入).
  2. 导航至: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
  3. 查找与您的服务器主机名或 IP 匹配的条目。
  4. 右键单击它并选择 删除.

Windows PowerShell 命令删除 SSH 主机密钥,文件资源管理器显示更新的known_hosts 文件,PuTTY 注册表编辑器显示主机密钥的删除确认对话框。

Linux 解决方案

ssh 密钥生成器 我们涵盖的命令 方法一 是在 Linux 上修复此问题的标准方法。它速度快并且本身受支持。

手动编辑

如果您想查看文件内容,可以使用 Nano 等文本编辑器进行编辑。

  1. 打开你的终端。
  2. 类型 纳米 ~/.ssh/known_hosts 并按 进入.
  3. 找到错误消息中提到的行号。
  4. 删除该行,然后按 Ctrl + XY 保存。

您还可以使用 维姆 (vim ~/.ssh/known_hosts)如果你熟悉的话。

Linux 终端显示 ssh-keygen 命令,用于按主机名和 IP 地址删除 SSH 主机密钥,并包含成功确认和known_hosts 文件示例。
关于禁用检查的警告

您可以强制 SSH 连接而不进行验证,但这有风险。它绕过了针对中间人攻击的保护。

仅将此方法用于受信任网络上的本地测试。对于 macOS 和 Linux,请输入以下内容:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]

如果您使用的是 Windows,则 Unix 路径会失败。你必须使用 零点 使旁路工作:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]

不要在公共连接或实时服务器上运行这些覆盖。

修复密钥不匹配是例行维护,但您可以采取更多措施来保护连接。僵尸程序经常针对默认端口 22 进行暴力攻击。您可以通过以下方式避免大部分背景噪音 在 Linux 中更改 SSH 端口 到一些不太可预测的事情。

SSH 中间人攻击图:攻击者拦截客户端-服务器连接、攻击者密钥与服务器密钥、数据盗窃和财务损失突出显示。

切勿将此方法用于生产服务器或不受信任的网络。

如何防止下次出现“远程主机标识已更改”消息

虽然您无法始终阻止合法的主机密钥更改,但您可以最大程度地减少中断并保持更好的安全实践。

快速参考指南

你的角色 关键策略
系统管理员 备份密钥、文档更改、使用证书以及定期轮换密钥
普通用户 维护库存、通过安全渠道进行验证并监控日志
云环境 

用户

使用 DNS 名称、利用提供商工具并实施基础设施即代码

显示 SSH 密钥管理最佳实践的信息图:使用 SSH 证书、DNS 名称、基础设施即代码、备份主机密钥、文档更改以及考虑堡垒主机。

对于系统管理员

备份主机密钥: 保存密钥来自 /etc/ssh/ 重新安装操作系统之前。之后恢复它们以防止向用户发出警告。

记录计划变更: 在更改密钥之前提醒用户并安全地共享新指纹。这使他们能够验证连接。

使用 SSH 证书: 大型团队应该使用中央证书颁发机构。这对主机密钥进行签名并消除了手动验证的需要。

实施密钥轮换: 安排您的主机密钥更改。对于您的团队来说,可预测的更新比意外的更新更容易处理。

对于普通用户

维护库存: 保留服务器指纹的个人记录或使用团队的安全文档。

通过带外验证: 根据云控制台等可信来源确认密钥,而不是随意的消息。

监控日志: 定期检查本地 SSH 日志是否有奇怪的连接模式或重复的错误。

使用配置管理: 使用 SSH 配置文件来处理动态开发环境,而无需降低安全设置。

对于动态云环境

使用 DNS 名称: 使用主机名而不是 IP 进行连接。当底层地址发生变化时,这可以保持一致性。

利用云工具: 使用提供商控制台检索当前指纹。在接受更改之前,请根据这些工具验证密钥。

基础设施即代码: 使用 Terraform 等工具自动进行密钥验证。对于高级设置,您还可以 使用 SSH SOCKS5 代理.

堡垒主机: 设置具有稳定密钥的跳转服务器。它们充当动态基础设施的安全入口点。

结论

“警告:远程主机标识已更改”是 SSH 的一个重要安全功能,而不是一个不容忽视的缺陷。虽然此警告通常出于服务器维护或配置更改等合法原因而出现,但它在保护您免受中间人攻击和未经授权的访问方面发挥着关键作用。

当您遇到此警告时,请先验证原因,然后再继续。在大多数情况下,解决方案很简单:使用针对您的操作系统概述的方法删除旧的主机密钥,然后在下次连接时接受新密钥。

通过了解 SSH 主机密钥的工作原理并遵循最佳实践,您可以在远程访问工作流程中保持安全性和便利性。有关安全传输文件的更多信息,请参阅 通过 SSH 复制文件.

 

常问问题

我应该认真对待警告:远程主机标识已发生严重变化吗?

是的,认真对待。这意味着服务器的身份发生了变化,这可能表明存在中间人攻击或只是例行维护。在接受新密钥之前,请务必与您的管理员或提供商验证更改以确保安全。

是什么原因导致警告:远程主机标识已更改?

当服务器的当前指纹与您的known_hosts 文件中的指纹不匹配时,就会出现此警告。常见原因包括操作系统重新安装、IP 重新分配或 SSH 配置重置。在极少数情况下,这表明存在主动的中间人攻击拦截。

此错误会发生在不同的操作系统上吗?

是的,此警告会影响所有使用 SSH 的操作系统,包括 Windows、macOS 和 Linux。它源于SSH协议的安全验证。虽然修复方法因平台而异,但每个系统的底层安全触发器保持相同。

如何知道主机密钥更改是合法的还是攻击?

要确认合法性,请检查最近的维护、操作系统更新或 IP 更改。在连接之前,您必须根据可信来源(例如云提供商的控制台或系统管理员的确认)验证新指纹。

禁用主机密钥检查会让 SSH 更方便吗?

它增加了便利性,但消除了安全性。禁用检查会破坏对中间人攻击的保护,使连接容易受到攻击。您应该仅在隔离的测试环境中使用此设置,切勿在涉及敏感数据的生产服务器或公共网络上使用。

SSH 主机密钥应该多久更改一次?

主机密钥通常不需要定期轮换。通常,您应该仅在服务器重建、操作系统重新安装或安全妥协后更改它们。频繁的更改会干扰用户,因此在需要更新时应优先考虑稳定性和清晰的沟通。

分享

更多来自博客

继续阅读。

MikroTik L2TP VPN 指南的 Cloudzy 标题图片,显示一台笔记本电脑通过带有盾牌图标的发光的蓝色和金色数字隧道连接到服务器机架。
安全与网络

MikroTik L2TP VPN 设置(使用 IPsec):RouterOS 指南 (2026)

在此 MikroTik L2TP VPN 设置中,L2TP 处理隧道,而 IPsec 处理加密和完整性;将它们配对即可为您提供本机客户端兼容性,无需第三方年龄

雷克萨·赛勒斯雷克萨·赛勒斯 阅读时间 9 分钟
DNS 服务器故障排除指南插图,其中包含警告符号和深色背景上的蓝色服务器,用于 Linux 名称解析错误
安全与网络

名称解析暂时失败:这意味着什么以及如何修复?

使用 Linux 时,在尝试访问网站、更新包或执行需要 Internet 连接的任务时,您可能会遇到名称解析错误的临时故障。

雷克萨·赛勒斯雷克萨·赛勒斯 阅读时间 12 分钟
如何将域指向 VPS:快速指南
安全与网络

如何将域指向 VPS:快速指南

将域指向虚拟专用服务器对于托管网站和应用程序是必要的。本指南涵盖了有关将您的域连接到您的域所需了解的所有信息

雷克萨·赛勒斯雷克萨·赛勒斯 阅读时间 16 分钟

准备好部署了吗? 每月 2.48 美元起。

独立云,自 2008 年起。AMD EPYC、NVMe、40 Gbps。 14 天退款。