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

相关推荐
likuolei5 小时前
Eclipse 快捷键
java·ide·eclipse
卓小帅的博客6 小时前
关于实现远程服务器使用本地网络的清晰简洁的教程
服务器·网络·vscode·连接超时
电子_咸鱼6 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
这儿有一堆花7 小时前
进阶 Markdown 指南:高级语法
vscode
努力成为大牛吧9 小时前
Pycharm 接入 Deepseek API完整版教程
ide·python·pycharm
q***062911 小时前
Node.js使用教程
node.js·编辑器·vim
zyplayer-doc11 小时前
目录支持批量操作,文档增加可见范围、锁定功能,PDF查看优化,zyplayer-doc 2.5.8 发布啦!
数据库·人工智能·pdf·编辑器·飞书·石墨文档
QQ__176461982411 小时前
Vscode安装步骤(详细版)
ide·vscode·编辑器
花花鱼12 小时前
android studio引用三方库的方法,比如SmartRefreshLayout
android·ide·android studio
薛定e的猫咪12 小时前
【调试技巧】vscode 四种断点调试,快速定位 bug
ide·vscode·python·bug