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

相关推荐
yinhezhanshen1 小时前
使用VSCode编辑Markdown+PlantUml
ide·vscode·编辑器
kooboo china.4 小时前
在UI 原型设计中,交互规则有哪些核心要素?
ui·编辑器·交互
慢一点会很快4 小时前
【Tools】VScode使用CMake构建项目
ide·vscode·编辑器
Mckay886 小时前
android studio导入项目
android·ide·android studio
threelab7 小时前
05.three官方示例+编辑器+AI快速学习three.js webgl - animation - skinning - ik
人工智能·学习·编辑器
threelab7 小时前
04.three官方示例+编辑器+AI快速学习webgl_animation_skinning_additive_blending
人工智能·学习·编辑器
ONLYOFFICE7 小时前
集成 ONLYOFFICE 与 AI 插件,为您的服务带来智能文档编辑器
人工智能·ai·编辑器·onlyoffice·文档编辑器·文档预览·文档协作
心足7 小时前
我喜欢的vscode几个插件和主题
ide·vscode·编辑器
suoxiao7779 小时前
通过anaconda安装jupyter
ide·python·jupyter
程序员阿鹏9 小时前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea