SecureCRT设置代理服务器的实用步骤
一 前置条件与选择
- 确认代理类型:常见为HTTP/HTTPS 代理(支持 HTTP CONNECT)或 SOCKS5 代理(无认证或有认证)。多数企业网络仅允许通过代理访问外网的 80/443 端口,此时可用 HTTP CONNECT 隧道来承载 SSH(22 端口) 流量。若已有 SOCKS5 跳板,也可直接作为本地 SOCKS 代理使用。以上两种方式 SecureCRT 均支持。
二 方法一 通过HTTP代理连接SSH(内置Firewall)
- 打开全局代理配置:SecureCRT 菜单 Options → Global Options → Firewall → Add。
- 新建防火墙条目:
- Name:自定义名称(如:HTTP_Proxy_8080)。
- Type:选择 HTTP(no authentication)。
- Hostname or IP:填写代理服务器地址(如:proxy.corp.com)。
- Port:填写代理端口(常见 8080 或 80)。
- 应用到会话:在目标会话的 Session Options → Connection → Firewall 选择刚创建的防火墙名称;勾选 Use firewall to connect。
- 连接测试:正常即可通过 HTTP 代理建立 SSH 会话。
- 兼容性提示:若你的 HTTP 代理要求认证或仅支持 HTTP/1.1,可在“HTTP”类型中选择带认证的变体,或改用下面的“通用代理”方式。
三 方法二 使用通用代理发送CONNECT命令(更灵活)
- 新建通用代理:SecureCRT 菜单 Options → Global Options → Firewall → Add。
- 配置参数:
- Name:自定义(如:Generic_HTTP_Proxy)。
- Type:选择 Generic Proxy。
- Hostname or IP:代理地址。
- Port:代理端口(如 8080)。
- Prompt:留空。
- Command:填入 CONNECT %h:%p HTTP/1.0\r\n\r\n(%h 与 %p 会自动替换为目标主机与端口)。
- 应用到会话:在会话的 Session Options → Connection → Firewall 选择该防火墙,并勾选 Use firewall to connect。
- 说明:该方式直接使用 HTTP CONNECT 建立隧道,适用于多数仅开放 80/443 的出站策略环境。
四 方法三 使用SOCKS5跳板机进行转发或代理
- 场景A(在 SecureCRT 内一键连目标机):
- 先用 SecureCRT 正常登录跳板机。
- 在该会话中设置本地端口转发:Session Options → Port Forwarding → Add,例如:
- Name:ssh_to_131
- Local Port:1022
- Remote Host:192.168.143.131,Remote Port:22
- 新建全局防火墙:Options → Global Options → Firewall → Add,Type 选 SOCKS version 5 (no authentication),Port 填 1022。
- 新建到目标机的会话,在 Firewall 选择刚创建的 SOCKS 防火墙,即可直接连接 192.168.143.131:22。
- 场景B(把跳板机作为本地 SOCKS 代理供其他程序使用):
- 在跳板机上开启 SOCKS 动态转发(命令行示例):
ssh -D 17070 user@跳板机IP
- 本机将浏览器或工具代理设置为 SOCKS5 127.0.0.1:17070;也可用 Proxifier 将指定程序的流量转发到该 SOCKS 端口。
- 说明:方法A适合在 SecureCRT 中直接连多台仅能从跳板机访问的目标;方法B适合让其他应用也复用跳板机的网络能力。
五 常见问题与排查
- 认证与协议:若代理需要用户名/密码,选择带认证的 HTTP 类型或改用 Generic Proxy 并在命令中按需处理;部分代理仅支持 HTTP/1.1,可尝试在命令中使用 HTTP/1.1 或切回“HTTP(带认证)”类型。
- 端口与策略:确认代理允许 CONNECT 到目标端口(如 22),且企业防火墙未限制相关出站规则。
- 变量含义:在“Generic Proxy”命令中,%h 表示目标主机,%p 表示目标端口,保持默认即可。
- 会话生效:新建或修改防火墙后,务必在目标会话的 Connection → Firewall 中选择,并勾选 Use firewall to connect。
- 连通性测试:可先用命令行工具(如
curl -v --proxy http://代理:端口 https://目标)验证代理连通性,再回到 SecureCRT 测试。