同一个服务器的mac ssh连接,更换服务器的公钥后,重新连接出现错误提示的解决方法
› 社区话题 › Linux/macOS 与自动化运维 › macOS SSH配置教程|~/.ssh/config服务器管理与SSH密钥登录 › 同一个服务器的mac ssh连接,更换服务器的公钥后,重新连接出现错误提示的解决方法
2025年9月25日 - 下午4:10 #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.pem3. 重新连接并接受新密钥:
bash
ssh yourhostalias提示时输入 yes
✅ 原理:ssh-keygen -R 精准清除 knownhosts 中对应主机+端口的旧记录,重新连接时自动保存新公钥。