VSCode远程开发安全需从SSH密钥认证、禁用密码与root登录、VSCode Server进程隔离、防火墙端口最小化四方面强化。密钥生成后部署公钥并配置StrictHostKeyChecking;服务端禁用PasswordAuthentication和PermitRootLogin;限制~/.vscode-server权限为700且确保code-server仅监听127.0.0.1;通过UFW仅允许可信IP访问SSH端口并拒绝其他入站连接。

VSCode通过Remote-SSH、Remote-Containers或Remote-WSL扩展连接远程主机时,其安全性取决于连接配置、身份验证方式及服务器端防护措施。以下是关键安全知识要点:
本文运行环境:MacBook Air M2,macOS Sonoma
一、SSH密钥认证的安全实践
使用SSH密钥替代密码登录可显著降低暴力破解与中间人攻击风险,密钥对由本地生成,私钥永不传输至远程服务器。
1、在终端执行 ssh-keygen -t ed25519 -C "your_email@example.com" 生成密钥对。
2、运行 ssh-copy-id user@remote_host 将公钥自动部署至远程服务器的 ~/.ssh/authorized_keys 文件。
3、编辑本地 ~/.ssh/config,添加 Host 条目并设置 IdentitiesOnly yes 与 StrictHostKeyChecking yes。
二、禁用密码登录与Root远程访问
远程服务器若允许密码登录或root直接SSH,将极大增加被自动化扫描工具攻陷的可能性。必须从服务端限制非必要权限入口。
1、以管理员身份登录远程服务器,执行 sudo nano /etc/ssh/sshd_config 编辑配置文件。
2、确认存在且未被注释的行:PasswordAuthentication no 与 PermitRootLogin no。
3、保存后运行 sudo systemctl restart sshd 使配置生效。
一个功能完善、展示信息丰富的电子商店销售平台,针对企业与个人的网上销售系统,开放式远程商店管理,完善的订单管理,销售统计,结算系统,强力搜索引擎支持,提供网上多种在线支付方式解决方案,强大的技术应用能力和网络安全系统BJXSHOP网上购物系统 - 鲜花销售版,它具备其他通用购物系统不同的功能,有针对鲜花销售而进行开发的一个电子商店销售平台,完全满足鲜花销售的需要
三、VSCode Server进程的隔离控制
VSCode Remote-SSH会在远程主机启动 code-server 进程,该进程默认绑定到回环地址(127.0.0.1),但若被恶意脚本劫持或配置错误,可能暴露调试端口或WebSocket接口。
1、检查远程用户主目录下 ~/.vscode-server/ 目录权限,确保仅属主可读写:chmod 700 ~/.vscode-server。
2、在VSCode中打开命令面板(Cmd+Shift+P),输入 Remote-SSH: Kill VS Code Server on Host... 清理残留服务实例。
3、通过 ps aux | grep code-server 验证进程是否仅监听 127.0.0.1:port,而非 0.0.0.0:port。
四、防火墙与端口最小化开放
SSH服务应仅在必要网段开放,避免全公网暴露;同时禁止远程主机上其他非VSCode用途端口(如Docker API、Redis默认端口)对外可见。
1、在远程服务器执行 sudo ufw status verbose 查看当前防火墙策略。
2、仅允许指定IP段访问SSH端口(例如仅公司出口IP):sudo ufw allow from 203.0.113.42 to any port 22。
3、拒绝所有新入站连接:sudo ufw default deny incoming,再启用防火墙:sudo ufw enable。






