使用ssh让服务器使用本地代理7890,但vscode一开启远程连接自动占用端口7890导致代理失效

问题描述

原因:尝试用ssh转发服务器的端口给本地的***端口7890,让服务器能够使用本地代理

操作:在本地ssh配置文件C:\Users\xxx\.ssh\config中设置

Host xxx
    HostName xxx
    User xxx
    RemoteForward 7895 127.0.0.1:7890 # 新增的行

并打开***的允许局域网

并在远程服务器的./bashrc文件中添加:

export http_proxy=http://127.0.0.1:7895
export https_proxy=http://127.0.0.1:7895

source ~/.bashrc使其生效

出现问题

本地打开***时,可以正常上网

打开vscode建立与服务器的远程连接时,电脑无法使用代理且服务器也无法使用代理

vscode显示转发的端口:
4f05a631a9135f87f18609698091d151
其中8888是jupyter的端口,不用管

说明vscode和***同时打开会都占用7890导致冲突

分析

因为编辑了ssh的config文件,导致VS Code 的 Remote-SSH 在解析 ~/.ssh/config 的 RemoteForward 时,会自动把这个转发注册到自己的“端口转发”管理器中。

image

解决方案

修改settings.json,在其中添加两行,让vscode不再自动端口转发
image

{
    "remote.SSH.remotePlatform": {
        
    },

    // 👇 你需要手动添加的部分
    "remote.autoForwardPorts": false,
    "remote.forwardPorts": [],
    xxx(其他本来的配置)
}

保存文件后重启vscode

看到端口处如下:
image
此时***能正常工作,服务器也成功使用到本地代理

补充

中间还经历了国内网络也无法访问,网页显示未发送任何数据的情况

解决:设置->网络和Internet->代理
QQ_1756358978017
检查使用代理服务器是否打开,如果***无法使用时,将其关闭后可以访问国内网络了

ps:记不清了。开关都试试

posted @ 2025-08-28 13:31  小白一枚2  阅读(1137)  评论(0)    收藏  举报