内网windows系统机器通过vscode ssh连接内网服务器,无网络导致的一系列无法正常连接问题

  1. 问题背景:内网Windows机器通过SSH连接远程Linux服务器进行可视化开发。

  2. 尝试的方案:VS Code Remote-SSH

  3. 遇到的问题:离线环境安装、网络连接问题、GLIBC版本不兼容、VSCode版本与扩展兼容性问题等。

  4. 解决方案:手动安装VSCode Server 、配置独立环境等。


  • 本地机器:Windows 内网环境

  • 远程服务器:CentOS 7.9 Linux

  • 网络状态:完全离线,无法连接外网

  • 目标:实现可视化远程开发

**问题1:**离线环境无法自动下载 VS Code Server

步骤 1:获取 Commit ID

vscode 里面 help(帮助) > about(关于) 里面找到

步骤 2:下载对应版本

在有网络的机器下载此文件,如何复制到内网机器

复制代码
# 下载链接格式 
https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable

步骤 3:传输到服务器

Python HTTP 服务器

bash 复制代码
cd 文件所在目录
# 发送方
python -m http.server 8000

# 接收方
curl "http://发送方IP:8000/vscode-server-linux-x64.tar.gz" -o /tmp/vscode-server.tar.gz

步骤 4:解压安装

bash 复制代码
curl "http://内网机器ip:8000/vscode-server-linux-x64.tar.gz" -o /tmp/vscode-server-linux-x64.tar.gz 

COMMIT_ID="你的commit_id"
mkdir -p ~/.vscode-server/bin/$COMMIT_ID
tar -xzf /tmp/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/$COMMIT_ID --strip-components=1
chmod +x ~/.vscode-server/bin/$COMMIT_ID/bin/code-server

**问题2:**遇到新问题:GLIBC 版本不兼容

bash 复制代码
/root/.vscode-server/bin/xxx/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

根本原因:CentOS 7.9 系统版本较老,GLIBC 版本过低,无法运行新版 VS Code Server。

解决方案:

1. 旧版 VS Code + 旧版扩展方案

下载兼容的 VS Code 1.52.1:

问题:扩展版本兼容性警告

bash 复制代码
Unable to install extension 'ms-vscode-remote.remote-ssh' as it is not compatible with VS Code 1.52.1

解决方案:

  • 手动下载兼容的旧版扩展(.vsix 文件)

  • 通过 Extensions: Install from VSIX 安装

问题3:删除之前的服务器配置,重新配置文件

首先 命令行通过ssh连接远程服务器

bash 复制代码
ssh -p 端口  user@ip 

然后删除之前整个 vsocde-server目录

bash 复制代码
rm -rf ~/.vscode-server

接下来解压安装:

步骤 1:获取 Commit ID

vscode 里面 help(帮助) > about(关于) 里面找到

步骤 2:下载对应版本

在有网络的机器下载此文件,然后复制到内网机器

复制代码
# 下载链接格式 
https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable

步骤 3:传输到服务器

Python HTTP 服务器

bash 复制代码
cd 文件所在目录
# 发送方
python -m http.server 8000

# 接收方
curl "http://发送方IP:8000/vscode-server-linux-x64.tar.gz" -o /tmp/vscode-server.tar.gz

步骤 4:解压安装

注意,老版本vscode文件目录不是 code-server 而是 code

bash 复制代码
curl "http://内网机器ip:8000/vscode-server-linux-x64.tar.gz" -o /tmp/vscode-server-linux-x64.tar.gz 

COMMIT_ID="你的commit_id"
mkdir -p ~/.vscode-server/bin/$COMMIT_ID
tar -xzf /tmp/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/$COMMIT_ID --strip-components=1
chmod +x ~/.vscode-server/bin/$COMMIT_ID/bin/code

验证安装

bash 复制代码
ls -la ~/.vscode-server/bin/$COMMIT_ID/bin
ls -la ~/.vscode-server/bin/$COMMIT_ID/bin/code
相关推荐
叼烟扛炮6 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
星恒随风7 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
Oiiouui9 小时前
linux服务器部署Logto后端与对应前端的实现
linux·服务器·前端·后端
ITKEY_9 小时前
用 Emacs Dired 实现 em:退出文件管理器后,让终端自动切换目录
linux·服务器·emacs
沫璃染墨11 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
程序员初一1 天前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元1 天前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
番茄啊1 天前
linux 开启xftp连接
linux·运维·服务器
Julien20041 天前
管理机密(一)
运维·服务器·开发语言·学习方法