Remote-SSH连不上服务器主要是SSH配置或权限问题,需检查本地ssh命令是否可用、~/.ssh/config语法、私钥权限、公钥认证配置、VS Code Server手动安装及远程路径权限等。

Remote-SSH 插件安装后连不上服务器怎么办
连不上多数是 SSH 配置或权限问题,不是插件没装好。先确认本地 ssh 命令能直连:
ssh user@host -p 22失败就别急着开 VSCode——VSCode 的 Remote-SSH 本质就是调用你系统里的
ssh 客户端。
常见卡点:
-
~/.ssh/config中 Host 别名写错,或用了 Tab 缩进(必须空格) - 私钥权限太开放:
chmod 600 ~/.ssh/id_rsa才安全,OpenSSH 拒绝读取 644 或更宽松的密钥 - 服务器禁用了密码登录,但本地没配好公钥——检查
ssh-copy-id user@host是否成功,再看服务端/etc/ssh/sshd_config是否有PubkeyAuthentication yes - VSCode 弹窗里选的是 “Connect to Host…” 而不是 “Connect to Host in Command Palette”,后者才能读取
~/.ssh/config
远程服务器上没有安装 VS Code Server 怎么办
VSCode 远程开发依赖一个轻量服务端(vscode-server),首次连接时会自动下载并运行。但如果服务器不能访问 GitHub 或国内网络受限,就会卡在 “Installing VS Code Server” 步骤。
手动安装更可控:
- 去 VS Code 官方 server 下载页 找最新 commit ID(比如
5f7f1b09e871325d6253336614c858c5795b7441),拼出完整 URL:https://update.code.visualstudio.com/commit:5f7f1b09e871325d6253336614c858c5795b7441/server-linux-x64/stable
- 用
wget下载压缩包,解压到~/.vscode-server/bin/5f7f1b09e871325d6253336614c858c5795b7441/ - 确保该目录下有
bin/code-server可执行文件,且权限为755 - 重启 VSCode,重试连接
连接后打开文件夹报错 “Command failed: stat”
这是远程路径权限或挂载问题,不是 VSCode 故障。典型错误信息含 stat: cannot stat 'xxx': Permission denied 或 No such file or directory,尤其出现在 NFS、CIFS 或容器挂载目录中。
排查方向:
- 用终端登录服务器,执行
ls -ld /your/project/path,确认当前用户对该路径有x(执行)权限——对目录来说,x是进入前提 - 如果路径在 Docker volume 或 NAS 上,检查是否启用了
noexec或nosuid挂载选项,它们会阻止vscode-server启动子进程 - 避免使用 root 用户连接:Remote-SSH 不推荐 root 登录,且部分发行版默认禁止;如必须,需在服务端
/etc/ssh/sshd_config中设PermitRootLogin yes并重启sshd
Windows 本地连 Linux 服务器时中文乱码
根本原因是 VSCode 终端和远程 shell 的 locale 不一致。VSCode Remote 默认继承服务器环境变量,但 Windows 本地终端常缺 UTF-8 支持。
快速修复:
- 在服务器上确认
locale输出含UTF-8,否则执行:export LANG=en_US.UTF-8
并写入
export LC_ALL=en_US.UTF-8~/.bashrc或~/.zshrc - 在 VSCode 设置里搜
terminal integrated env,点击 “Edit in settings.json”,添加:"terminal.integrated.env.linux": {
"LANG": "en_US.UTF-8",
"LC_ALL": "en_US.UTF-8"
} - 重启 VSCode 窗口(不是重载窗口),再打开集成终端
真正麻烦的是某些老版本 CentOS 7 默认没装 glibc-common,导致 localedef 无法生成 UTF-8 locale——得先 yum install glibc-common 再生成。









