如何解决 SSH 报错“REMOTE HOST IDENTIFICATION HAS CHANGED”问题(适用于 Windows、macOS 和 Linux) 列印

  • 0

如何解决 SSH 报错“REMOTE HOST IDENTIFICATION HAS CHANGED”问题(适用于 Windows、macOS 和 Linux)

在使用 SSH 连接服务器时,可能会遇到如下警告:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

问题原因

该警告表示服务器的主机密钥发生了变化,SSH 认为这可能存在安全风险。常见原因包括:

  • 服务器重装或主机密钥更新。
  • 服务器的 IP 地址或域名发生变化。
  • 你连接到不同的服务器但地址相同。

解决方法

不论你使用 WindowsmacOS 或 Linux,解决方法都是相同的:

1. 删除旧的主机密钥

你可以通过命令删除 SSH 缓存中的旧主机密钥,然后重新连接服务器。

步骤:
  1. 打开命令行工具(Windows 使用 CMD 或 PowerShell,macOS 和 Linux 使用终端)。
  2. 运行以下命令,删除旧的主机密钥:
   例如你的服务器IP是 192.168.1.1,则执行:
   
	ssh-keygen -R 192.168.1.1

再次尝试连接服务器:

	ssh root@192.168.1.1
	系统会提示你接受新的主机密钥,输入 yes 并继续连接。

2. 使用 Termius 等专业 SSH 工具

为了更方便地管理 SSH 连接,推荐使用 Termius 这款跨平台 SSH 工具。它支持 Windows、macOS、Linux、iOS 和 Android,且具有图形界面,操作简单。

Termius 使用步骤:

前往 Termius 官网 下载并安装适合你设备的客户端。

打开 Termius,添加服务器连接信息(如服务器地址、用户名、密码或 SSH 密钥)。

连接服务器,Termius 会自动处理主机密钥等问题,避免手动操作。

无论你使用的是 Windows、macOS 还是 Linux,当遇到 SSH 报错“REMOTE HOST IDENTIFICATION HAS CHANGED”时,都可以通过删除旧的主机密钥解决问题。为了更高效地管理 SSH 连接,建议使用 Termius 等专业工具。


这篇文章有帮助吗?

« 返回