Ubuntu 下让 SecureCRT 走代理的实用做法
方法一 使用 HTTP 代理直连 SSH(最简单)
- 打开 SecureCRT,进入:Options → Global Options → Firewall → Add。
- 新建一条防火墙规则:
- Name:自定义(如:HTTP_Proxy_8080)
- Type:选择 HTTP (no authentication)(如代理支持认证,请选择对应的带认证类型)
- Hostname or IP:填写代理服务器地址(如:proxy.example.com)
- Port:填写代理端口(如:8080)
- 保存后,在目标会话的 Session Options → Connection → Firewall 选择刚创建的防火墙规则。
- 连接到你的 SSH 主机即可通过 HTTP 代理转发。若代理需要用户名/密码,SecureCRT 的 HTTP 代理类型需支持认证;部分版本仅提供“无认证”选项,此时应改用方法二或三。
方法二 动态端口转发搭建本地 SOCKS5 代理(通用且稳定)
- 新建一个“网关”会话(如:跳板机/堡垒机),先测试能正常 SSH 登录。
- 在该会话的 Session Options → Connection/Port Forwarding → Add:
- Name:如“SSH_SOCKS_Proxy”
- Local/Port:如 1080(本地监听端口)
- 勾选 Dynamic forwarding,选择 SOCKS4/5(常用 SOCKS5)
- 建议启用:Send Protocol NO-OP、Auto reconnect(提升稳定性)
- 回到 Options → Global Options → Firewall → Add:
- Name:如“Gateway_Firewall”
- Type:SOCKS version 5 (no authentication)
- Hostname or IP:127.0.0.1
- Port:1080(与上一步一致)
- 在需要经由代理访问的目标会话中,于 Session Options → Connection → Firewall 选择“Gateway_Firewall”。
- 说明:通过 SOCKS 代理时,主机名解析在网关上进行,请在目标会话里填写网关可解析的主机名或 IP。
方法三 使用系统代理环境变量(部分版本有效)
- 在 Ubuntu 设置系统代理:Settings → Network → Network Proxy,按需配置 HTTP/HTTPS/SOCKS 的地址与端口。
- 在 SecureCRT 会话的 Session Options → Connection → Proxy 中,勾选 Use system proxy settings(若界面提供该选项)。
- 如无该选项或无效,请改用方法一/二。上述菜单路径在不同版本或桌面环境可能略有差异。
验证与常见问题
- 验证连通性:在目标会话成功连接后,执行
echo $SSH_CONNECTION 或查看 SecureCRT 日志,确认已建立会话。
- 代理认证:若代理要求用户名/密码,优先使用“方法二(SOCKS5)”;HTTP 代理的认证支持取决于 SecureCRT 版本与所选 Firewall/HTTP 类型。
- 解析差异:使用 SOCKS 时,目标主机名由网关解析;若网关无法解析内网域名,请改用 IP 或调整网关的 DNS/解析配置。
- 稳定性:建议启用 Auto reconnect 与 NO-OP,并在网络抖动环境下适当增大超时设置。