1. 在本地输入如下命令

    1
    ssh -N -R 1924:127.0.0.1:9876 ganzhitao@10.171.92.4

    这条命令是 SSH 反向端口转发,它的作用是让远程服务器(10.171.92.4)可以通过端口 1924 访问你本地电脑上的 9876 端口。

    图片

    本地的代理服务器需要打开,并运行在9876端口

  2. 在服务器设置代理服务器地址

    1
    2
    export http_proxy="http://127.0.0.1:1924"
    export https_proxy="http://127.0.0.1:1924"

    若需要永久生效,请将上述命令添加入你的 ~/.bashrc 文件中

    1
    2
    git config --global http.proxy http://localhost:1924
    git config --global https.proxy http://localhost:1924

    对于 git 命令,需要输入如下代码,输入后即可一直生效

  3. 确认隧道是否建立成功

    在服务器(10.171.92.4)上运行:

    1
    ss -tlnp | grep 1924

    如果能看到:

    1
    LISTEN  0  128  127.0.0.1:1924  ...

    说明 SSH 隧道成功建立,服务器本地的 1924 端口正在监听。

  4. 最简单的连通性测试

    在服务器上执行

    1
    curl -v --proxy http://127.0.0.1:1924 https://www.google.com -o /dev/null -w "HTTP %{http_code}\n"

    输出类似:

    1
    2
    3
    4
    5
    * Connected to 127.0.0.1 (127.0.0.1) port 1924 (#0)
    > GET / HTTP/1.1
    > Host: www.example.com
    < HTTP/1.1 200 OK
    HTTP 200

    这表示服务器已经能通过你的本地代理访问外网 。