Win10使用VS Code远程连接Ubuntu服务器时遇到SSH公钥错误的解决方案

在使用Windows 10上的Visual Studio Code(VS Code)远程连接Ubuntu 20.04服务器时,遇到了以下错误:
在这里插入图片描述

错误的原因

这个错误消息表明,SSH 客户端检测到远程主机的 ECDSA 公钥已更改。可能是由于以下原因之一:

  1. 远程主机的公钥已更改:可能是由于重新安装操作系统或重新生成 SSH 密钥。
  2. 中间人攻击的潜在风险
  3. 连接到错误的服务器:可能不小心连接到了错误的服务器,导致公钥不匹配。

解决方法

要解决这个问题,可以按照以下步骤操作:

方法一:移除旧的公钥记录

  1. 手动编辑known_hosts文件

    • 打开 C:\Users\Jiangsz\.ssh\known_hosts 文件,此处要改为你的电脑文件路径
    • 找到并删除第四行的记录(错误消息中提到有问题的 ECDSA 密钥在第四行)。
    • 保存并关闭文件。
  2. 使用命令移除旧的公钥记录

    • 在 PowerShell 或 CMD 中运行以下命令来删除特定主机的记录:

      ssh-keygen -R ip
      

方法二:接受新的公钥

  1. 再次尝试连接

    • 移除旧的公钥记录后,再次尝试通过 SSH 连接到远程服务器:

      ssh username@ip
      
    • 当提示你接受新的公钥时,确认并接受。

    • 备注:我的ubuntu服务器的username是root,你需要根据服务器上分配给你的用户名进行相应的更改。

方法三:临时禁用严格检查(不推荐)

这种方法仅适用于紧急情况下,不推荐长期使用,因为它会降低安全性。

  1. 使用-o选项禁用严格检查

    ssh -o StrictHostKeyChecking=no username@ip
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值