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 应该可以顺利连接到远程服务器。

相关推荐
Eiceblue25 分钟前
使用 Python 向 PDF 添加附件与附件注释
linux·开发语言·vscode·python·pdf
王RuaRua26 分钟前
VScode C/C++环境配置
c语言·c++·vscode
宁雨桥1 小时前
VSCode插件开发实战:从零到发布的技术大纲
ide·vscode·编辑器
OpenTiny社区3 小时前
如何使用 TinyEditor 快速部署一个协同编辑器
前端·开源·编辑器·opentiny
不染尘.3 小时前
图的邻接矩阵实现以及遍历
开发语言·数据结构·vscode·算法·深度优先
C7211BA1 天前
Visual Studio Code (VS Code) 官方下载渠道
ide·vscode·编辑器
zhangfeng11331 天前
win7 VSCode 1.70设置R语言的版本,电脑上有两个版本
ide·vscode·r语言
学习和思考1 天前
为什么我的vscode有的时候可以跳转,有的时候不能跳转
arm开发·ide·驱动开发·vscode·学习·1024程序员节
新手村领路人1 天前
vscode ssh远程连接 ubuntu虚拟机
ide·vscode·ssh
小-黯1 天前
VSCode + XMake搭建OpenGL开发环境
vscode·opengl·xmake