在使用Windows 10上的Visual Studio Code(VS Code)远程连接Ubuntu 20.04服务器时,遇到了以下错误:
 
错误的原因
这个错误消息表明,SSH 客户端检测到远程主机的 ECDSA 公钥已更改。可能是由于以下原因之一:
- 远程主机的公钥已更改:可能是由于重新安装操作系统或重新生成 SSH 密钥。
- 中间人攻击的潜在风险
- 连接到错误的服务器:可能不小心连接到了错误的服务器,导致公钥不匹配。
解决方法
要解决这个问题,可以按照以下步骤操作:
方法一:移除旧的公钥记录
-  手动编辑 known_hosts文件:- 打开 C:\Users\Jiangsz\.ssh\known_hosts文件,此处要改为你的电脑文件路径
- 找到并删除第四行的记录(错误消息中提到有问题的 ECDSA 密钥在第四行)。
- 保存并关闭文件。
 
- 打开 
-  使用命令移除旧的公钥记录: -  在 PowerShell 或 CMD 中运行以下命令来删除特定主机的记录: ssh-keygen -R ip
 
-  
方法二:接受新的公钥
-  再次尝试连接: -  移除旧的公钥记录后,再次尝试通过 SSH 连接到远程服务器: ssh username@ip
-  当提示你接受新的公钥时,确认并接受。 
-  备注:我的ubuntu服务器的username是root,你需要根据服务器上分配给你的用户名进行相应的更改。 
 
-  
方法三:临时禁用严格检查(不推荐)
这种方法仅适用于紧急情况下,不推荐长期使用,因为它会降低安全性。
-  使用 -o选项禁用严格检查:ssh -o StrictHostKeyChecking=no username@ip