Windows 通过 SSH 反向隧道向 Ubuntu 转发代理

1. Ubuntu 开启 SSH

bash 复制代码
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
systemctl status ssh
hostname -I

确认 SSH 状态为 active (running),记录 Ubuntu 的局域网 IP。若启用了 UFW:

bash 复制代码
sudo ufw allow ssh

2. Windows 连接 Ubuntu

在 Windows PowerShell 中执行:

powershell 复制代码
ssh Ubuntu用户名@Ubuntu_IP

例如:

powershell 复制代码
ssh jack@192.168.1.105

若连接失败,可检查 Ubuntu 的 SSH 端口:

bash 复制代码
sudo ss -tlnp | grep :22

并在 Windows 测试:

powershell 复制代码
Test-NetConnection 192.168.1.105 -Port 22

3. 建立 SSH 反向端口转发

假设 Windows 上的 HTTP 代理监听在 127.0.0.1:7890。在 Windows PowerShell 中执行:

powershell 复制代码
ssh -N -R 7890:127.0.0.1:7890 jack@192.168.1.105

保持该 SSH 窗口运行。隧道建立后,Ubuntu 上的 127.0.0.1:7890 会转发到 Windows 的 127.0.0.1:7890。

4. 在 Ubuntu 测试代理

bash 复制代码
curl -x http://127.0.0.1:7890 https://api.openai.com

也可以测试:

bash 复制代码
curl -x http://127.0.0.1:7890 https://www.google.com

5. Pi Coding Agent 使用代理

启动 Pi 时设置代理环境变量:

bash 复制代码
HTTPS_PROXY=http://127.0.0.1:7890 \
HTTP_PROXY=http://127.0.0.1:7890 \
pi

如果只希望某个 provider 使用代理,可在 provider 配置中指定 proxy:

json 复制代码
{
  "providers": [
    {
      "name": "overseas",
      "baseUrl": "https://api.example.com/v1",
      "apiKey": "$MY_API_KEY",
      "proxy": "http://127.0.0.1:7890",
      "models": ["my-model"]
    }
  ]
}

这样可为指定 provider 配置代理;未单独设置时,可使用 HTTP_PROXY 和 HTTPS_PROXY 环境变量。

参考文档:

相关推荐
陈希123几秒前
Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位
linux·服务器·网络
方便面不加香菜44 分钟前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
测试界的小码农3 小时前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
没差c4 小时前
winsw将jar、nginx等注册为Windows服务
windows·nginx·jar
byte轻骑兵4 小时前
实战 1:修改 BlueZ 源码,添加自定义开机日志
linux·aiot·bluez·电脑蓝牙·嵌入式蓝牙
叼烟扛炮4 小时前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮4 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
AR-26710-4 小时前
Linux Day32——实操五类资源告急排查
linux·运维
光谱SpectrAI5 小时前
Claude Code 2.1.318 的隐私模块:4 条命令,拦了 2 条
windows
skywalk81635 小时前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive