当用户通过 SSH 从我的 LAN 外部登录到我的 LAN 时,我想强制他们输入特定的命令。我的想法是,ForceCommand
在Match
条件块中使用,匹配所有地址,但我的 LAN 中的地址除外。
根据以下内容,我尝试了以下内容man 5 sshd_config
:
Match Address !192.168.1.0/24
允许来自任何地方的用户执行任何命令。Match Address !192.168.*
允许来自任何地方的用户执行任何命令。Match !Address 192.168.*
通过sshd
拒绝启动来阻止任何命令的执行。
在(“模式”部分)!
中描述了使用否定模式。这如何应用于地址?man 5 ssh_config
根据这个 ServerFault answer,出于某种未知原因,您需要添加通配符匹配才能执行此操作。然而,CIDR 表示法似乎确实有效。例如:
这适用于 OpenSSH 5.9p1。