这是一个简单的场景:我从 PC A 打开一个 SSH 隧道到 PC B。有人可以在 PC B 上使用此隧道进入或转发某些协议到 PC A 吗?我可以限制仅从 PC A 生成的流量吗?谢谢。
答案1
我假设您正在谈论 SSH 端口转发“隧道”——如果您(例如)ssh -L 8080:B:80 user@B
在主机 A 上运行并且没有对您的 SSH 配置进行任何奇怪的操作,那么答案是不存在来自主机 B 的“反冲”风险。
上述命令在主机 A 的本地环回地址 (127.0.0.1 / ::1) 的端口 8080 上打开一个侦听器。
当您向该侦听器发送流量时,它会通过 SSH 连接发送到另一端的主机 B 端口 80。
回复来自主机 B 的数据将沿着隧道返回,但主机 B 无法发起与主机 A 的新连接 —— 它是单端口转发,而不是敞开的隧道。
关于问题的第二部分(限制流量),默认情况下,SSH 将转发端口绑定到 localhost,因此如果您使用上述命令,则主机 A 是唯一可以使用该连接的主机。该-L
选项的完整语法是-L LocalIP:LocalPort:RemoteHost:RemotePort
,但 LocalIP 部分通常会被省略并默认为 localhost。
欲了解更多信息,请咨询OpenSSH 手册页。