remote-ssh连接成功仅是起点,真正卡住的是python解释器找不到、vscode-server安装失败、终端未加载$path或vs code未在正确shell中启动。

能连上不代表代码能跑——Remote-SSH 连接成功只是起点,真正卡住人的永远是 python3 找不到、vscode-server 安装失败、终端没加载 $PATH、或者你根本没在对的 shell 里启动 VS Code。
ssh 命令行不通,VSCode 一定连不上
Remote-SSH 插件不自带 SSH 客户端,它完全依赖你系统 PATH 里的 ssh 命令。终端里 ssh user@host 都报 Connection refused 或卡在 Setting up SSH Host,别调 VS Code 设置,先修底层。
- 检查远程
sshd是否运行:sudo systemctl status sshd - 确认端口监听(比如 2222):
sudo ss -tuln | grep :2222 - 云服务器必须同步开安全组,只放行你的 IP 段更安全
- 私钥权限必须是
600:chmod 600 ~/.ssh/id_rsa_myserver,OpenSSH 会直接拒绝644或更宽的权限 - Windows 用户注意:PowerShell 和 WSL 的
~/.ssh/config是两套,建议统一用 WSL 终端验证
~/.ssh/config 配置漏字段,连接就静默失败
VS Code 的 Remote-SSH 主机列表直接读取该文件,但很多人只写 Host 和 HostName,结果无限转圈或弹密码框——它不会猜 User,也不会默认用 ~/.ssh/id_rsa。
-
Host、HostName、User、IdentityFile四项必须显式写出,缺一不可 -
IdentityFile必须是绝对路径,且对应私钥已chmod 600 - 非标准端口(如 2222)必须加
Port 2222,光填 IP 没用 - 缩进只能用空格,不能用 Tab,某些 OpenSSH 版本会整段忽略
- 配置完执行
ssh -T myserver测试,返回 welcome 信息才算通
which python3 返回空,说明环境根本没配
Remote-SSH 只负责把编辑器界面连过去,python3、node、gcc 全靠服务器自己装。连上了却 F5 报错 Python interpreter not found,90% 是这个原因。
- 在 VS Code 内置终端里执行:
which python3,返回空就代表没装或不在$PATH - Ubuntu/Debian:
sudo apt update && sudo apt install python3 python3-pip - CentOS/RHEL:
sudo yum install python3 python3-pip(或dnf) - 用 conda?必须先在远程终端里
source activate myenv,再从该终端执行code .启动 VS Code,否则环境不继承 - F5 调试前,务必打开命令面板 →
Python: Select Interpreter→ 手动选路径,比如/usr/bin/python3或~/miniconda3/envs/myenv/bin/python
vscode-server 卡在 Installing 超过 2 分钟,大概率是网络问题
VS Code 第一次连接时,会在远程自动拉取 vscode-server(位置:~/.vscode-server/bin/)。它依赖远程能访问 update.code.visualstudio.com,内网、代理、DNS 污染都会导致失败。
- 先检查远程是否具备基础工具:
which curl tar unzip bash - 缺失就装:
sudo apt install -y curl tar unzip(Ubuntu/Debian) - 手动下载对应 commit hash 的 tar 包(URL 格式:
https://update.code.visualstudio.com/commit:COMMIT_ID/server-linux-x64/stable) - 传到服务器后解压:
mkdir -p ~/.vscode-server/bin/COMMIT_ID && tar -xzf vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/COMMIT_ID --strip-components 1 - 如果远程磁盘空间不足或
~/.vscode-server挂载受限(比如 NFS),也会卡住,需清理或换挂载点
最常被忽略的是:改完代码后输出还是旧的,不是同步问题,而是 VS Code Remote 默认只同步当前打开的文件;右下角显示 Syncing changes… 时得等它消失再运行,否则你在本地改了,远程执行的还是上一版。











