<p>Remote-SSH连接成功不等于代码能运行,90%失败发生在连接后;必须安装Microsoft官方Remote - SSH插件,配置~/.ssh/config需包含Host、HostName、User、IdentityFile四字段且权限为600,远程Python环境须手动安装并指定解释器路径。</p>

Remote-SSH 能连上不等于代码能跑起来——90% 的失败发生在连接之后,而不是连接之前。
Remote-SSH 插件必须认准 Microsoft 官方版本
VS Code 扩展市场里搜 remote ssh 会出来一堆插件,但只有作者是 Microsoft、全名是 Remote - SSH 的那个才支持终端集成、调试器和远程扩展自动安装。其他像 SSH FS 或 Remote SSH Editor 只能读写文件,点 F5 调试直接报错,等同于换了个高级 FTP 工具。
装完必须重启 VS Code,否则左下角不会出现 图标;插件不存密码也不管理密钥,它完全依赖本地 ~/.ssh/config 或系统 SSH 配置。
~/.ssh/config 必须写全这四个字段
很多人只写 Host 和 HostName,结果卡在 Setting up SSH Host 或报 Permission denied (publickey)。VS Code 不会猜 User,也不会默认用 ~/.ssh/id_rsa——你得明说。
-
Host:自定义别名(如ubuntu-server),后续连接时直接选它 -
HostName:IP 或域名(如192.168.1.100) -
User:登录用户名(如ubuntu,不能漏) -
IdentityFile:私钥绝对路径(如/Users/you/.ssh/id_rsa或C:\Users\you\.ssh\id_rsa),且权限必须是600(chmod 600 ~/.ssh/id_rsa)
如果服务器改过 SSH 端口(比如 2222),一定要加 Port 2222,光写 IP 没用。
远程 Python 环境没配好,F5 调试必然失败
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 生命周期里——VS Code 启动的每个终端都是独立会话,环境变量、激活的虚拟环境、甚至 cd 到的路径,都不会跨终端继承。


















