Remote-SSH连接成功不等于能运行代码,关键在三处:必须安装Microsoft官方Remote-SSH插件并重启;~/.ssh/config需明确定义Host、HostName、User、IdentityFile(绝对路径且chmod 600)和Port;远程Python环境须手动安装并指定解释器路径。

能连上不代表能跑代码——Remote-SSH 连接成功只是第一步,真正卡住人的都在后续执行环节。
Remote-SSH 插件必须装对,别被名字带偏
VS Code 市场搜 remote ssh 会出来一堆插件,但只有作者是 Microsoft、全名是 Remote - SSH 的那个才支持终端集成、调试器和远程扩展自动安装。其他像 SSH FS 或 Remote SSH Editor 只能读写文件,点 F5 调试直接报错,等同于换了个高级 FTP 工具。
装完必须重启 VS Code,否则左下角不会出现 SSH TARGETS 图标;插件不存密码也不管理密钥,它完全依赖本地 ~/.ssh/config 或系统 SSH 配置。
~/.ssh/config 配置漏字段,连接就卡在 “Setting up SSH Host”
很多人只写 Host 和 HostName,结果报 Permission denied (publickey) 或无限转圈。VS Code 不会猜 User,也不会默认用 ~/.ssh/id_rsa——你得明说。
-
IdentityFile必须是绝对路径,且权限为600:chmod 600 ~/.ssh/id_rsa_myserver - 如果服务器改过 SSH 端口(比如
2222),一定要加Port 2222,光写 IP 没用 -
Host别名只能含小写字母、数字、短横线(my-server✅,my_server❌,MyServer❌) - 缩进必须用空格,不能用 Tab;每段以
Host开头,HostName和User必须存在
远程终端里 python 找不到,不是 VS Code 的问题
Remote-SSH 只负责把编辑器界面连过去,Python、Node、gcc 全靠服务器自己装。连上了却运行不了脚本,90% 是环境没配好。
- 先在 VS Code 内置终端里执行:
which python3,返回空就说明根本没装 - Ubuntu/Debian:
sudo apt install python3 python3-pip;CentOS:sudo yum install python3 python3-pip -
F5调试失败?打开命令面板,搜Python: Select Interpreter,手动指定远程路径,如/usr/bin/python3 - 用了
conda或virtualenv?必须先在远程终端里source activate myenv,再从该终端执行code .启动 VS Code,否则环境不继承
代码改了但输出还是旧的,别急着重连
VS Code Remote 默认只同步当前打开的文件,不是实时 rsync 整个目录。改完保存后,右下角若显示 Syncing changes…,得等它消失再运行。
- 强制上传单个文件:
右键文件 → Upload to … - 运行前先查残留进程:
ps aux | grep python,避免旧进程还在占端口或读旧代码 - 首次连接常卡在下载
vscode-server,可手动下载对应 commit hash 的 tar 包,传到远程~/.vscode-server/bin/下解压
最易被忽略的是:远程 shell 初始化脚本(如 ~/.bashrc)里如果有阻塞型命令(read、sleep、交互式提示),会导致 VS Code 启动的非交互式 shell 卡死——这个坑不看日志根本发现不了。











