remote-ssh卡在“resolving host…”说明vscode未发起ssh连接,问题出在本地dns解析或ssh配置路径:如~/.ssh/config中hostname为内网域名但无法解析,需改用ip直连或补全/etc/hosts;检查remote.ssh.configfile设置是否被修改;macos/linux下zsh启动vscode可能导致环境变量未展开;windows中openssh的ssh.exe可能被杀软拦截。

Remote-SSH卡在“Resolving host…”不动
这说明 VSCode 根本没发起 SSH 连接,问题出在本地 DNS 解析或配置路径上,和服务器状态无关。
-
~/.ssh/config里HostName填了内网域名但本地无法解析(比如gitlab.internal),改用 IP 直连测试,或在/etc/hosts补全映射 - VSCode 启动时没读到你写的
~/.ssh/config——检查 VSCode 设置里remote.SSH.configFile是否被手动改成其他路径;macOS/Linux 下若用 zsh 启动 VSCode,但~/.ssh/config依赖 bash 的环境变量(如$HOME未展开),也会失效 - Windows 上 OpenSSH for Windows 的
ssh.exe可能被 Defender 或第三方杀软拦截,打开任务管理器看有没有卡住的ssh.exe进程;临时关掉实时防护再试
连接卡在“Establishing SSH connection…”或报“Permission denied (publickey)”
说明已开始走 SSH 协议,但认证失败或服务端拒绝加载密钥,不是网络不通。
-
~/.ssh/authorized_keys权限必须是600,其父目录~/.ssh必须是700,OpenSSH 服务端严格校验,权限宽松直接拒收 - 服务器上用户 shell 被设成
/bin/false或/usr/sbin/nologin(常见于只允许 SFTP 的账号),Remote-SSH 需要交互式 shell 加载 profile;运行getent passwd $USER看第七列是否为合法 shell - 用了
ProxyCommand跳转时,中间跳板机上nc或ssh不在$PATH中;Alpine 镜像默认没装nc,得换用ncat或apk add --no-cache openssh
连接成功但文件浏览器空白、终端打不开、提示“Failed to start language server”
这是远程环境缺失 VSCode Remote 所需基础能力,不是连接问题。
- 远程服务器必须有
tar命令(VSCode 用它打包传输插件),最小化系统(如 CentOS Stream minimal、Docker 容器)常默认不装;运行which tar确认,没有就yum install -y tar或apt install -y tar -
~/.vscode-server目录被 root 创建过,或用户主目录磁盘满(df -h ~),会导致服务端安装失败;删掉整个~/.vscode-server后重连,让 VSCode 自动重装 - 国产 Linux 发行版(如统信 UOS、麒麟)默认禁用
AllowTcpForwarding,而 Remote-SSH 依赖该功能通信;需改/etc/ssh/sshd_config开启并sudo systemctl restart sshd
连接后频繁断连或编译时内存打满宕机
VSCode Remote 的资源消耗集中在远程 vscode-server 进程,本地只是界面代理。
- 远程服务器上残留旧
vscode-server进程会干扰新连接;执行pkill -f vscode-server+rm -rf ~/.vscode-server彻底清理 - C++ 项目中
clangd默认不限制内存,可加配置"C_Cpp.intelliSenseMemoryLimit": 1024(单位 MB) - 云服务器内存不足时,
vscode-server会因 OOM 被 kernel 杀掉;建议配至少 2GB swap,或用cgroup限制其内存上限
tar 和 bash 等工具链、以及严格的权限控制。很多问题表面是“连不上”,实际是远程环境里某一行 .bashrc 把非交互式 shell 卡住了,或者 ~/.vscode-server/bin/ 下的 commit ID 和本地 VSCode 版本不匹配。这些细节不会报错,只会安静地转圈。











