You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH反向隧道连接时curl命令卡顿问题求助

问题分析与解决方案

你的核心问题是错误使用了SSH端口转发类型:你创建的是静态TCP端口转发(将服务器8888映射到工作站443),但尝试用SOCKS5协议连接这个端口,两者不匹配,导致curl无法获取SOCKS响应而卡顿。

正确操作步骤

1. 在macOS工作站创建反向动态SOCKS代理

替换原来的SSH命令为:

ssh -N -R 8888 -i [key_file] [user]@[server_ip]
  • -R 8888:让服务器监听本地8888端口,所有发往该端口的SOCKS请求会通过SSH隧道转发到你的工作站,再由工作站的网络访问目标地址。
  • -N:仅建立隧道,不执行远程命令,保持会话后台运行。

2. 在服务器端执行curl请求

保持你的curl命令不变:

curl --proxy socks5://localhost:8888 'https://www.example.com'

原命令错误原因

你之前的命令ssh -N -R :8888:localhost:443 ...是静态TCP端口转发,它的作用是将服务器8888端口的所有TCP连接,直接转发到工作站的443端口。但你的工作站443端口并没有运行SOCKS5代理服务(默认443是HTTPS端口,通常无监听),所以当curl用SOCKS5协议连接服务器8888时,实际是和工作站的443端口通信,对方无法理解SOCKS协议,自然没有响应,导致无限卡顿。

额外检查项

  • 确保macOS工作站的防火墙允许SSH出站连接(默认允许,若手动禁用需开启)。
  • 服务器端sshd_config中需确保AllowTcpForwarding yes(默认启用,若修改过需恢复),GatewayPorts无需设置为yes(因为你仅在服务器本地访问8888端口)。

内容的提问来源于stack exchange,提问作者Tyler Stone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 19:43:12