ssh连接前需启用sshd服务并放行防火墙22端口;vscode连不上优先查ip、用户权限及配置格式;远程默认打开家目录,需手动指定绝对路径;保存慢需配置files.watcherexclude禁用无谓监听。

SSH连接前必须确认CentOS的sshd服务已启用且放行防火墙
VSCode连不上,八成卡在这一步。CentOS默认可能没开sshd,或者firewalld拦住了22端口。
先在虚拟机里执行:
sudo systemctl is-active sshd返回
active才算运行中;如果不是,运行sudo systemctl enable --now sshd。
再检查防火墙:
sudo firewall-cmd --list-ports看有没有
22/tcp。没有就加一条:sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload。
别跳过--permanent参数——重启后规则就丢了,下次连又得重配。
VSCode Remote-SSH插件连不上时优先查IP和用户权限
常见报错Could not establish connection to "192.168.x.x",不是密码错,而是VSCode根本没找到目标机器。
确认三件事:
- CentOS用
ip a查到的是局域网IP(通常是ens33或eth0下的inet地址),不是127.0.0.1或localhost - 你用的登录用户必须有
ssh权限,普通用户默认可以,但若禁用了密码登录(PasswordAuthentication no),就得提前配好密钥 - VSCode里配置的Host名不能带空格或下划线,推荐直接写
user@192.168.x.x,避免config文件解析出错
如果弹窗反复要输密码,说明/etc/ssh/sshd_config里PasswordAuthentication被设为no,临时改成yes并sudo systemctl restart sshd即可。
Remote-SSH首次连接后自动打开的文件夹路径容易出错
VSCode通过SSH连接后,默认打开的是远程用户的家目录(/home/username),但你实际想编辑的代码往往在/var/www、/opt/project这类路径下。
别急着点“Open Folder”,先做两件事:
- 确保目标目录对当前用户有读写权限,比如
sudo chown -R $USER:$USER /var/www/myapp - 在VSCode命令面板(
Ctrl+Shift+P)里搜Remote-SSH: Open Folder...,手动输入完整绝对路径,例如/var/www/myapp,不要漏掉开头的/ - 如果路径含空格或中文,VSCode会拒绝访问——改用英文命名,这是硬限制,不支持转义
顺带一提:远程打开的终端默认pwd仍是家目录,cd进项目后再开终端,能避免路径混乱。
修改代码后保存慢、文件同步卡顿,大概率是SFTP层配置问题
VSCode Remote-SSH本质是走SSH通道转发,不依赖SFTP协议,但某些插件(如文件监视器、Git状态栏)会悄悄触发远程文件系统扫描,导致卡顿。
优化方向很明确:
- 在远程机器的
~/.vscode-server/data/Machine/settings.json里加"files.watcherExclude": {"**/.git/objects/**": true, "**/node_modules/**": true},关掉无谓监听 - 禁用不需要的本地插件同步:VSCode设置里搜
remote.extensionKind,把esbenp.prettier-vscode这类格式化插件设为["workspace"],只在远程启用 - 别在远程打开超大日志文件(比如
/var/log/messages),VSCode会尝试全文加载,直接卡死连接
真实体验差异极大:关掉files.watcherExclude默认项后,Ctrl+S延迟从1.5秒降到0.2秒以内。这个配置藏得深,但改完立刻见效。











