如何阻止VSCode将SSH代理转发至远程开发容器?
阻止VSCode将SSH代理转发到开发容器的方案
核心设置:关闭容器级代理转发
VSCode的远程容器扩展默认会自动转发SSH代理,哪怕你已经禁用了SSH层面的代理转发。解决这个问题的关键是修改远程容器的专属配置:
- 全局生效:打开VSCode设置(快捷键
Ctrl+,或Cmd+,),搜索remote.containers.enableForwarding,将其设置为false。 - 单个项目生效:在项目的
.devcontainer/devcontainer.json文件中添加以下配置:"remote.containers.enableForwarding": false
双重兜底配置
如果上述设置仍未生效,可通过以下两步进一步加固:
- 确认远程服务器SSH配置:在本地
~/.ssh/config中,确保目标服务器的ForwardAgent明确设为no:Host your-remote-server HostName <服务器IP/域名> User <你的用户名> ForwardAgent no - 关闭VSCode SSH扩展代理转发:在VSCode设置中搜索
remote.SSH.enableAgentForwarding,将其设置为false。
验证方法
附加到容器后,执行以下操作确认效果:
- 检查容器内
/tmp目录,确认不再生成vscode-ssh-auth-<id>.sock类的套接字文件; - 在容器终端执行
echo $SSH_AUTH_SOCK,如果无输出或路径指向不存在的文件,说明代理转发已被成功阻止。
内容的提问来源于stack exchange,提问作者bmk
相关产品推荐
相关产品推荐

