前言
- 最近项目组的其他朋友们总是在吐槽使用
vscode-ssh远程的时候老是需要重复下载vscode-server的问题,抛开其下载巨慢的问题,vscode-server在部分底端板卡上也是占用巨大,对开发还是影响巨大的。 - 食用本文前推荐配置基础
ssh操作,包含密码和ssh重命名 - 本文分别从
Windows端和Linux端,分别提出用SSHFS/GVFS将远程目录挂载到本地,用本地VSCode直接开发,从而绕过Remote-SSH的vscode-server。
Windows端
1-1 前置下载
1-1-1 WinFsp
- 官网地址:https://winfsp.dev/
- 点击下载
.msi文件,双击全部保持默认即可
1-1-2 SSHFS-Win
- 安装时 WinFsp 需要先安装,否则 SSHFS-Win 会报错。
- GitHub 地址:https://github.com/billziss-gh/sshfs-win/releases
- windows11直接选择
x64.msi即可,和上面的WinFsp安装一样,直接双击全部保持默认即可
1-2 挂载
- 我们通过下述指令把远程直接挂载在本地
cmd
net use X: \\sshfs\root@192.168.3.5

- 连接成功后我们可以直接通过下述指令查看
cmd
net use

- 当然你也可以在命令访问的时候直接指定密码和用户名
cmd
net use X: \\sshfs\root@192.168.3.5 %PASS% /user:root
1-3 连接
- 我们就可以直接通过访问盘符的方式访问挂载在本地的远程
cmd
X:

- 这时候我们使用
code .就可以使用本地的vscode访问远程的文件了(直接绕开vscode-server)
cmd
code .
1-4 取消挂载
- 推荐回到其他盘符,然后取消挂载
cmd
net use X: /delete

1-5 一键脚本
- 把下述脚本改为
bat,直接双击运行即可挂载远程并且打开vscode
bat
@echo off
set PASS=你的密码
net use X: /delete /y >nul 2>&1
net use X: \\sshfs\root@192.168.3.5 %PASS% /user:root
code X:\
2 Linux端
2-1 法一:GVFS(GNOME Virtual File System)+ sftp 协议
-
打开你的文件资源管理器

-
选择

-
在出现的选框终输入

sftp://nvidia@192.168.10.170/
-
右键本地终端打开

-
此时 GVFS 会在
/run/user/$UID/gvfs/下生成虚拟挂载入口(FUSE 风格用户态文件系统),这时候可以直接code .,用本地的vscode访问挂载在本地的远程端
2-2 法二:sshfs
2-2-1 安装
bash
sudo apt update
sudo apt install sshfs
2-2-2 创建挂载点
bash
mkdir -p ~/rdkx5
2-2-3 挂载
bash
sshfs root@192.168.3.5:/ ~/rdkx5
- 进阶参数
bash
sshfs -o cache=yes,compression=no root@192.168.3.5:/ ~/rdkx5
-o(options):"挂载参数",用来调整行为cache=yes:开启缓存compression=no:关闭压缩传输
2-2-4 访问
bash
cd ~/rdkx5
2-2-5 卸载
bash
fusermount -u ~/rdkx5
2-3 对比
| 特性 | GVFS SFTP | sshfs |
|---|---|---|
| 是否真正 mount | 否(虚拟文件系统) | 是(FUSE mount) |
| 可在 CLI 直接访问 | 不方便 | 完全正常 |
| 稳定性 | 中等 | 高 |
| 性能 | 一般 | 更好 |
| GUI 集成 | 更好 | 还行 |
2-4 一键脚本
bash
#!/bin/bash
# =========================
# 配置区
# =========================
REMOTE_USER="root"
REMOTE_HOST="192.168.3.5"
REMOTE_PATH="/"
LOCAL_MOUNT="$HOME/rdkx5"
# =========================
# 卸载旧挂载(防止重复挂载)
# =========================
if mountpoint -q "$LOCAL_MOUNT"; then
echo "[INFO] 已检测到挂载点,正在卸载..."
fusermount -u "$LOCAL_MOUNT" 2>/dev/null || umount "$LOCAL_MOUNT"
fi
# =========================
# 创建挂载目录
# =========================
mkdir -p "$LOCAL_MOUNT"
# =========================
# 执行 sshfs 挂载
# =========================
echo "[INFO] 正在挂载远程目录..."
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,\
cache=yes,compression=no \
${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH} \
"$LOCAL_MOUNT"
# =========================
# 检查结果
# =========================
if [ $? -eq 0 ]; then
echo "[SUCCESS] 挂载成功:$LOCAL_MOUNT"
cd "$LOCAL_MOUNT" || exit
# 自动打开 VSCode
code .
else
echo "[ERROR] 挂载失败"
exit 1
fi
总结
- 本文分别从
Windows端和Linux端,分别提出用SSHFS/GVFS将远程目录挂载到本地,用本地VSCode直接开发,从而绕过Remote-SSH的vscode-server。 - 如有错误,欢迎指出!
- 感谢阅读!
