我需要限制 SSH 隧道功能。不应允许用户创建远程隧道,而只能创建到本地主机的隧道。我尝试在 SSH 配置中设置整个功能,但我只能在那里完全关闭 TCPForwarding。我想这可能只有使用 iptables 才有可能?有没有人有经验并能帮助我?
答案1
对于 OpenSSH,您可以使用PermitOpen host:port
它来限制用户可以隧道连接到的位置。要让他们隧道连接到仅在默认端口上本地侦听的 MySQL,请执行以下操作:
PermitOpen LocalHost:3306
来自 sshd_config 的手册页:
许可证开放
指定允许 TCP 端口转发的目标。转发规范必须采用以下形式之一:
PermitOpen host:port PermitOpen IPv4_addr:port PermitOpen [IPv6_addr]:port
可以通过用空格分隔来指定多个转发。任何可用于删除所有限制并允许任何转发请求。没有任何可用于禁止所有转发请求。默认情况下,所有端口转发请求都是允许的。