同一个服务器的mac ssh连接,更换服务器的公钥后,重新连接出现错误提示的解决方法

社区话题 Linux/macOS 与自动化运维 macOS SSH配置教程|~/.ssh/config服务器管理与SSH密钥登录 同一个服务器的mac ssh连接,更换服务器的公钥后,重新连接出现错误提示的解决方法

#1187

追光
管理员

同一个服务器的连接,更换服务器的公钥后,重新连接出现错误提示的解决方法

更换服务器公钥后 SSH 连接报错的解决方法

问题现象
连接已知服务器时提示:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Host key verification failed.

原因
服务器的 SSH Host Key(公钥)已更换(如重装系统、重建实例),但本地 ~/.ssh/knownhosts 仍保留旧密钥,SSH 为防中间人攻击拒绝连接。

解决步骤

1. 删除本地旧密钥记录
若使用非默认端口(如 54302),必须用 [IP]:PORT 格式删除:
bash

ssh-keygen -R \"[这里写服务器IP]:端口\"

示例:
bash

ssh-keygen -R \"[43.143.133.170]:ssh端口\"

2. (可选)修复私钥权限(若提示权限错误):
bash

chmod 600 /path/to/privatekey.pem

3. 重新连接并接受新密钥:
bash

ssh yourhostalias

提示时输入 yes

✅ 原理:ssh-keygen -R 精准清除 knownhosts 中对应主机+端口的旧记录,重新连接时自动保存新公钥。