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

相关推荐
向宇it1 小时前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
徐小夕@趣谈前端1 小时前
可视化大屏编辑器, 开源!
编辑器
天天进步20152 小时前
TipTap编辑器:现代化的富文本编辑解决方案
编辑器
odng4 小时前
IDEA自己常用的几个快捷方式(自己的习惯)
java·ide·intellij-idea
o(╥﹏╥)4 小时前
在 Ubuntu 上安装 VS Code
linux·运维·vscode·ubuntu·vs
18号房客5 小时前
macOS开发环境配置与应用开发教程(一)
vscode·macos·visualstudio·eclipse·intellij-idea·phpstorm·visual studio
weixin_423196176 小时前
VSCode+WSL作为IDE开发和管理深度学习项目
ide·vscode·编辑器
乐闻x6 小时前
VSCode 插件开发实战(八):创建和管理任务 Task
ide·vscode·编辑器
神洛华8 小时前
Y3地图制作1:水果缤纷乐、密室逃脱
编辑器·游戏引擎·游戏程序
web137656076438 小时前
WebStorm 创建一个Vue项目
ide·vue.js·webstorm