vscode连接远程开发机报错

远程开发机更新,vscode连接失败

报错信息

sh 复制代码
"install" terminal command done
Install terminal quit with output: Host key verification failed.
Received install output: Host key verification failed.
Failed to parse remote port from server output
Resolver error: Error: 

解决办法

sh 复制代码
远端和本地都执行,ssh-keygen 【一路回车next即可】
在$HOME/.ssh目录下找到生成的pubkey:id_rsa.pub
写入到authorized_keys文件中。
远端写本地电脑id_rsa.pub的配置,本地电脑写入远端生成的id_rsa.pub配置
删除本地$HOME/.ssh/known_hosts 原来对远端的连接信息,直接重新连接
vscode会将连接信息写入到known_hosts 

vscode连接conf配置文件

sh 复制代码
Host ******
  HostName IP
  User user_name
  Port 22
  IdentityFile ~/.ssh/id_rsa

以下from ChatGPT

这个报错主要说明了 VSCode 通过 SSH 连接到远程服务器时,SSH 客户端未能验证远程主机的密钥。这是一个常见问题,通常与 SSH 配置或已知主机密钥有关。


报错详细说明

  1. 核心报错

    Host key verification failed.
    

    这表示 SSH 客户端未能验证远程服务器的主机密钥,可能的原因包括:

    • 远程服务器的主机密钥未存储在本地的 ~/.ssh/known_hosts 文件中。
    • 远程服务器的主机密钥已更改,但 ~/.ssh/known_hosts 文件中存储的是旧的密钥。
    • 网络中间人攻击导致主机密钥不匹配。
  2. 后续报错

    Failed to parse remote port from server output
    

    由于主机密钥验证失败,VSCode 无法通过 SSH 建立连接,因此后续与远程主机的通信失败。


解决方法

1. 确认远程主机的主机密钥

在终端中直接尝试连接远程服务器,查看是否出现主机密钥相关提示:

bash 复制代码
ssh <username>@<remote-server>
  • 第一次连接:如果这是第一次连接到远程服务器,你会看到类似以下提示:

    The authenticity of host '<remote-server>' can't be established.
    RSA key fingerprint is <fingerprint>.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    

    输入 yes,并按回车以接受密钥,密钥将被添加到 ~/.ssh/known_hosts 文件中。

  • 主机密钥已更改:如果提示主机密钥与记录不一致,SSH 会报错:

    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    

    此时,你需要更新 ~/.ssh/known_hosts 文件,删除对应的旧记录。

2. 删除旧的主机密钥记录

如果你确认远程服务器的主机密钥是可信的,可以手动更新:

  1. 打开 ~/.ssh/known_hosts 文件:

    bash 复制代码
    nano ~/.ssh/known_hosts
  2. 查找对应的远程主机记录(可以用 IP 或域名搜索),然后删除该行。

  3. 保存文件后重新连接。

或者直接通过 SSH 命令删除:

bash 复制代码
ssh-keygen -R <remote-server>

3. 确保 SSH 配置正确

确保 ~/.ssh/config 中的配置与实际情况匹配。例如:

plaintext 复制代码
Host <alias>
    HostName <remote-server-ip-or-domain>
    User <username>
    Port <port>
    IdentityFile ~/.ssh/<private-key>  # 如果需要私钥

4. 检查 VSCode 的 Remote-SSH 配置

  1. 打开 VSCode 的命令面板,输入:

    Remote-SSH: Settings
    
  2. 确保 VSCode 使用正确的 SSH 配置文件路径。

    • 默认路径为 ~/.ssh/config
  3. 如果配置文件路径有误,可以在 VSCode 设置中明确指定:

    json 复制代码
    "remote.SSH.configFile": "~/.ssh/config"

5. 测试连接

在 VSCode 中,按以下步骤重新测试:

  1. 打开命令面板(Ctrl + Shift + P)。
  2. 输入 Remote-SSH: Connect to Host,选择目标服务器。
  3. 如果仍然失败,可以打开 VSCode 的输出日志(View -> Output),选择 "Remote-SSH" 查看详细信息。

6. 最终检查

如果以上方法无效,检查以下内容:

  • 网络问题 :确保本地机器能够访问远程服务器的 SSH 端口(默认是 22)。

  • 防火墙设置:确认远程服务器允许来自本地机器的 SSH 连接。

  • 权限问题 :确保 ~/.ssh 和相关私钥文件权限正确。

    bash 复制代码
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/<private-key>

解决主机密钥验证问题后,VSCode 应该可以顺利连接到远程服务器。

相关推荐
ahadee40 分钟前
蓝桥杯每日真题 - 第19天
c语言·vscode·算法·蓝桥杯
芝麻团坚果3 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
写点什么啦3 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
小码ssim4 小时前
IDEA使用tips(LTS✍)
java·ide·intellij-idea
hence..4 小时前
Vscode写markdown快速插入python代码
ide·vscode·python
ahadee4 小时前
蓝桥杯每日真题 - 第18天
c语言·vscode·算法·蓝桥杯
qq_429856575 小时前
idea启动服务报错Application run failed
java·ide·intellij-idea
佛系小嘟嘟6 小时前
Android Studio不显示需要的tag日志解决办法《All logs entries are hidden by the filter》
android·ide·android studio
码码哈哈0.06 小时前
VSCode 2022 离线安装插件QT VSTOOl报错此扩展不能安装在任何当前安装的产品上。
ide·vscode·qt