新闻资讯
领先云端方案商,专注云桌面、云手机研发,凭核心虚拟化技术与云端算力,打造安全高效数字化平台,提供全周期支持。
分类
相关文章
热门标签

SSH代理和端口转发示例帮助你快速设置跳板机

2026年7月19日

SSH代理和端口转发示例帮助你快速设置跳板机

问题1:什么是SSH代理端口转发,跳板机的作用是什么?

SSH代理通常指利用SSH建立的代理通道,例如通过 动态端口转发(SOCKS5) 或者 Agent转发 来代理身份验证请求;而 端口转发(Port Forwarding)分为本地(-L)、远程(-R)和动态(-D)三类,用于把流量从一端安全地转发到另一端。跳板机(bastion host)是位于外网与内网之间的单点入口,通常充当受控的中继,配合 ProxyJump (-J) 或端口转发可以安全访问内网目标。

关键点

跳板机的优势在于统一审计、最小化暴露服务、并可结合 SSH密钥、MFA 及访问控制实现安全访问策略。

示例场景

外网机器A → 跳板机B → 内网目标C,通过跳板机统一出口并记录操作。

问题2:如何用最简单的命令通过跳板机快速连接内网主机(使用ProxyJump)?

最直接的方式是使用SSH的 ProxyJump 选项(简写为 -J):

ssh -J user@jump.example.com user@target.internal

这条命令会将SSH连接先发到跳板机(jump.example.com),跳板机再代理连接到目标(target.internal)。如果目标端口不是默认的22,可以用 -p 指定端口。

在~/.ssh/config中配置

为了更方便,可以在 ~/.ssh/config 添加:

Host target.internal User user ProxyJump user@jump.example.com

优势

使用 ProxyJump 简化命令链、不需要手动建立中间隧道且易于与SSH配置管理结合。

问题3:如何使用本地端口转发(-L)和远程端口转发(-R),分别有哪些示例?

本地端口转发(-L)将本机端口转发到远端目标;远程端口转发(-R)则是将远端端口转发到本地或另一个内网目标。

本地端口转发示例(访问内网数据库)

ssh -L 5432:db.internal:5432 user@jump.example.com

执行后,本地访问 localhost:5432 的流量会被通过跳板机转发到内网数据库 db.internal:5432

远程端口转发示例(让内网服务被外网访问)

ssh -R 8080:localhost:3000 user@jump.example.com

这会在跳板机上打开 8080 端口并把流量转发到你本地的 3000 服务,适合临时将本地开发服务暴露给跳板机或第三方。

注意

远程转发可能会带来安全风险,需结合跳板机的防火墙、sshd_config 中的 GatewayPorts 等设置进行限制。

问题4:如何使用动态端口转发(-D)创建一个SOCKS5代理用于浏览器或工具?

动态端口转发(-D)会在本地创建一个SOCKS代理,应用程序配置为使用该代理后,所有通过代理的流量会通过跳板机发出。

启动SOCKS5代理示例

ssh -D 1080 -N user@jump.example.com

命令说明:-D 1080 在本地打开1080端口的SOCKS5代理;-N 表示不执行远程命令,仅建立隧道。之后在浏览器或curl中配置SOCKS5代理为 localhost:1080

工具配置示例

在Firefox中设置网络代理为 SOCKS5 host=localhost port=1080,或者使用 proxychains、tsocks 将命令行工具透过该代理访问。

问题5:使用跳板机和端口转发时有哪些常见安全注意事项与疑难解答?

常见安全建议包括:禁用密码登录、使用SSH密钥并设置Passphrase、开启两步验证或TOTP,限制跳板机上的允许用户和登录来源地址。

Agent转发和私钥安全

避免在跳板机上保留私钥;如果需要转发私钥权限,可用 ssh-agent-A,但注意Agent转发有被窃用风险,务必信任跳板机或仅在受控环境使用。

端口转发策略

启用最小权限原则:只开放必要端口,使用防火墙(iptables/nftables/安全组)限制来源IP,日志审计并定期复查转发规则。对外暴露远程端口时尽量避免使用 GatewayPorts yes,或限制为绑定到特定地址。

故障排查提示

如果连接失败,检查:DNS是否能解析目标、跳板机的SSHD是否允许 AllowTcpForwarding、本地端口是否被占用、以及是否有防火墙阻断中间流量。使用 ssh -v 或多重 -vvv 调试输出定位问题。

跳板机

来源:SSH代理和端口转发示例帮助你快速设置跳板机