SSH转发隧道目的地是否可以限制在每个用户的基础上?
客户端“a”可以将隧道转发到192.168.10.2:22。客户'b‘可以转发隧道到192.168.11.2:22 -专门。
我希望根据每个用户或每个组限制以下隧道命令:
要求:
有效的隧道命令(用于client_a):
ssh -f client_a@gateway -L localhost:2222:192.168.10.2:22 -N无效的隧道命令(对于client_a) -网关上的SSH连接应该立即关闭。
ssh -f client_a@gateway -L localhost:2222:192.168.11.2:22 -N有效的隧道命令(用于client_b):
ssh -f client_b@gateway -L localhost:2222:192.168.11.2:22 -N无效的隧道命令(对于client_b) -网关上的SSH连接应该立即关闭。
ssh -f client_b@gateway -L localhost:2222:192.168.10.2:22 -N可以通过修改sshd_config来实现这一限制吗?
发布于 2018-02-12 21:45:48
假设它是现代sshd版本,/etc/ssh/sshd_配置支持Match和PermitOpen指令,可以组合这些指令来限制客户端指定的目标--设置LocalForward选项
PermitOpen 指定允许TCP端口转发的目的地。转发规范必须是以下形式之一: PermitOpen主机:端口PermitOpen IPv4_addr:port PermitOpen IPv6_阿德尔:端口多个转发可以通过将它们与空白空间分隔来指定。可以使用“any”的参数来消除所有限制,并允许任何转发请求。默认情况下,所有端口转发请求都是允许的。https://www.freebsd.org/cgi/man.cgi?sshd_配置(5)
所以像这样的事情应该有效..。
Match User client_a
PermitOpen none
PermitOpen 192.168.10.2:22
Match User client_b
PermitOpen none
PermitOpen 192.168.11.2:22我不能百分之百地确定那些PermitOpens的订单。(By default all port forwarding requests are permitted.)因此,您可能必须反转它们,或者在适当的位置添加一个Permit none来阻止不匹配的转发。
也可能是这样;
Match User client_a
PermitOpen 192.168.10.2:22
Match User client_b
PermitOpen 192.168.11.2:22
Match User client_a client_b
PermitOpen nonehttps://serverfault.com/questions/896815
复制相似问题