Я хотел бы заставить пользователей вводить определенную команду, когда они входят в мою локальную сеть из-за пределов моей локальной сети через SSH. Моя идея заключалась в том, чтобы использовать ForceCommand
в Match
условный блок, который соответствует всем адресам, кроме адресов в моей локальной сети.
Я пробовал следующее, согласно 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по какой-то неизвестной причине вам необходимо добавить совпадение с подстановочными знаками, чтобы сделать это. Однако нотация CIDR, похоже, работает. Например:
Match Address *,!192.168.1.0/24
ForceCommand /bin/false
У меня это работает с OpenSSH 5.9p1.