在 Linux 上使用 SecureCRT 通过代理连接的实用做法
一 前置说明
- SecureCRT 是 GUI 客户端,在 Linux 桌面环境(如 Ubuntu/Fedora)可直接使用其图形界面完成代理与隧道配置。若在无界面的服务器上,建议改用命令行 SSH 的代理转发能力(见文末补充)。
- 常见代理类型包括:HTTP/HTTPS 代理(用于 HTTP CONNECT 隧道)与 SOCKS5 代理(常用于浏览器/应用经由跳板机上网)。下文分别给出 SecureCRT 的配置路径与要点。
二 通过 HTTP 代理连接 SSH 服务器
- 适用场景:公司网络仅允许 80/443,或必须经由 HTTP 代理出站,同时需要建立到目标主机的 SSH 22 连接。
- 配置步骤(SecureCRT 全局防火墙):
- 打开 SecureCRT,依次进入:Options → Global Options → Firewall。
- 点击 Add,新建一个防火墙条目:
- Name:自定义(如:HTTP_Proxy_8080)
- Type:选择 Generic Proxy
- Hostname or IP:填写 HTTP 代理地址(如:proxy.corp.com)
- Port:填写代理端口(常见 80 或 8080)
- Prompt:留空
- Command:填入 CONNECT %h:%p HTTP/1.0\r\n\r\n(%h 与 %p 会被自动替换为目标主机与端口)
- 保存后,在新建或现有会话的 Session Options → Connection → Firewall 选择刚创建的防火墙条目。
- 连接到目标 SSH 主机,SecureCRT 会通过 HTTP 代理的 CONNECT 方法建立隧道。
- 说明:该方法无需在代理上做额外改动,适合受限网络环境。
三 使用跳板机与端口转发访问内网资源
- 适用场景:客户端无法直接访问内网,需要先登录 跳板机,再访问其后端资源(如数据库、内网 Web)。
- 方案一 SecureCRT 本地端口转发(推荐)
- 先用 SecureCRT 正常连接到 跳板机(Bastion)。
- 在该会话上右键 → Session Options → Port Forwarding → Add:
- Type:Local
- Local:如 127.0.0.1:1542(本机监听端口)
- Remote:如 192.168.1.120:1521(目标内网主机与端口,例如 Oracle 数据库)
- 保持该会话连接,随后在本机使用 localhost:1542 访问目标服务。
- 如需让同局域网其他主机使用本机转发的端口,可在启动转发时允许网关绑定(命令行 ssh 使用 -g;在 SecureCRT 中通常保持默认仅本机监听即可,外部访问需谨慎)。
- 方案二 将跳板机作为 SOCKS5 代理供浏览器/应用使用
- 在已连上跳板机的会话中:Session Options → Port Forwarding → Add:
- Type:Local
- Local:如 127.0.0.1:1080
- Remote:留空(表示转发到跳板机自身的 SOCKS 监听,由 SSH 动态分配)
- 保存后,浏览器或系统网络设置里将 SOCKS5 代理指向 127.0.0.1:1080,即可经由跳板机访问内网。
- 说明:端口转发是 SSH 的核心能力,SecureCRT 提供了图形化的转发配置界面,便于快速打通内网访问链路。
四 常见问题与排查
- HTTP 代理连接失败:确认代理地址/端口、是否需要身份认证(多数 Generic Proxy 不支持自动认证,需使用支持认证的代理类型或改用 SOCKS/SSH 直连)。
- 端口转发连不通:确认转发会话处于连接状态;检查目标主机与端口是否可达;若需让其他主机访问本机转发的端口,命令行需加 -g,或在服务器端设置 GatewayPorts(SecureCRT 图形界面通常默认仅 127.0.0.1 监听,外部访问需特别配置)。
- 浏览器通过 SOCKS5 访问异常:优先使用 127.0.0.1 而非主机名,避免 DNS 泄露或解析差异;必要时在浏览器关闭 DNS over HTTPS 以走代理解析。
五 无图形界面环境的补充
- 若没有 GUI,可在 Linux 终端直接使用 OpenSSH 完成同等能力:
- HTTP 代理隧道:
- 使用 connect-proxy 或 corkscrew 等工具,例如:
ssh -o ProxyCommand=“connect-proxy -H proxy.corp.com:8080 %h %p” user@target
- SOCKS5 代理隧道:
- 本地/远程端口转发:
- 本地:ssh -L 127.0.0.1:1542:192.168.1.120:1521 bastion
- 远程:ssh -R 0.0.0.0:8080:localhost:80 bastion(需服务器开启 GatewayPorts)
以上做法覆盖 HTTP 代理直连 SSH、跳板机端口转发 与 SOCKS5 代理三种常见需求,按你的网络策略选择其一或组合使用即可。