VSCode Remote-SSH 完整使用教程(刚好适合你PVE虚拟机)
Remote-SSH:让VSCode直接在远程Linux服务器/PVE虚拟机里写代码、看文件、开终端,文件全部在远端,本地只是编辑器界面。
一、前置条件
- 本地:安装 VS Code;Windows 10/11 需要开启【OpenSSH客户端】(设置 → 应用 → 可选功能)
- 远端(你的PVE虚拟机):
- 系统:Linux(Ubuntu/Debian/CentOS)
- 安装 openssh-server 并启动
# Debian/Ubuntu apt update && apt install openssh-server systemctl enable --now ssh - 防火墙放行22端口(或者你自定义的ssh端口)
- 知道:IP、ssh端口、用户名
二、安装插件
- VSCode左侧扩展商店,搜索:
Remote - SSH(作者 Microsoft),安装 - 快捷键
F1调出命令面板,输入Remote-SSH就能看到所有相关命令
三、两种连接方式
方式A:临时快速连接(单次)
F1→Remote-SSH: Connect to Host...- 输入格式:
root@192.168.1.100 # 非22端口: root@192.168.1.100 -p 2222 - 回车,第一次连接输入密码,等待VSCode自动在远端安装vscode服务。
右下角会弹出进度框,安装完成后自动新开窗口,就是远程环境。
方式B:配置 config 文件(推荐,保存多个服务器,密钥免密)
F1→Remote-SSH: Connect to Host...→Add New SSH Host- 会提示选择配置文件路径,一般选
~/.ssh/config(Windows:C:\Users\你的用户名\.ssh\config) - 编辑config,示例:
Host pve-vm HostName 192.168.1.100 User root Port 22 IdentityFile C:\Users\XXX\.ssh\id_ed25519
Host pve-vm:别名,以后直接选这个名字连接,不用输IP- IdentityFile:私钥路径,配置后免密码登录
配置完后,左侧远程资源管理器会出现
pve-vm,点一下就能连接。
四、配置SSH密钥免密登录(强烈建议,不用反复输密码)
在本地电脑终端执行:
ssh-keygen -t ed25519
# 一路回车,可设置密钥密码(可选)
把公钥推送到远端虚拟机:
ssh-copy-id root@192.168.1.100
# 非22端口:ssh-copy-id -p 2222 root@192.168.1.100
之后再连接就不用输入服务器密码。
五、连接成功后操作
- 左下角绿色状态栏:
SSH: pve-vm,代表当前处于远程环境 - 打开文件夹:
文件 → 打开文件夹,输入远端路径/root或者/opt/project - 终端:
Ctrl+` 直接打开远端shell(就是虚拟机里面的bash) - 插件:扩展面板里,本地插件不会自动跑到服务器,需要在远程分类下点【安装到SSH】
六、常见坑(你PVE环境大概率会遇到)
- 连接超时:虚拟机防火墙没开22端口;PVE虚拟机网卡不通;sshd没启动
- 远端安装VSCode Server失败:虚拟机网络无法访问github(国内很常见)
- 解决:手动下载vscode-server,传到虚拟机对应目录
- 权限报错:.ssh目录权限必须严格,远端执行:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys - 密码正确但拒绝登录:sshd配置禁止root密码登录
修改/etc/ssh/sshd_config重启ssh:PermitRootLogin yes PasswordAuthentication yessystemctl restart ssh
七、断开连接
直接关闭VSCode远程窗口即可;或者左下角绿色SSH按钮 → Close Remote Connection。
小提示
- 你前面PVE那个AES报错的虚拟机,只要虚拟机ssh服务正常,完全可以用Remote-SSH连进去写代码,CPU缺少AES不影响SSH。
- 不要混淆:Remote-SSH是连接虚拟机内的Linux,不是直接连PVE宿主机。
作者:月影鹏鹏 创建时间:2026-10-04 01:41
最后编辑:月影鹏鹏 更新时间:2026-10-04 01:41
最后编辑:月影鹏鹏 更新时间:2026-10-04 01:41