ограничение удаленного входа vpn на ip-адрес в CentOS 7

Я прочитал, что сам OpenSSH не поддерживает authentication через определенный IP address . В установке CentOS 7 на web server , как бы настроить учетную запись, чтобы пользователь не только должен был иметь VPN соединение и правильное имя пользователя и пароль, но и подключаться к одному из определенного списка authorized IP addresses ? Можно ли это сделать с помощью OpenSSH ? Можно ли добавить дополнительные типы учетных данных в качестве требований в предлагаемом решении?

Я прочитал эту публикацию , но подход, похоже, сообщает о доступе неавторизованных IP-адресов, а не просто блокирует несанкционированные IP-адреса.

Если возможно, я хотел бы сосредоточиться на бесплатном программном обеспечении.

См. man sshd_config :

  AllowUsers This keyword can be followed by a list of user name patterns, separated by spaces. If specified, login is allowed only for user names that match one of the patterns. Only user names are valid; a numerical user ID is not recog‐ nized. By default, login is allowed for all users. If the pattern takes the form USER@HOST then USER and HOST are separately checked, restricting logins to particular users from particular hosts. The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups. See PATTERNS in ssh_config(5) for more information on patterns. 

И man ssh_config :

 PATTERNS A pattern consists of zero or more non-whitespace characters, '*' (a wildcard that matches zero or more characters), or '?' (a wildcard that matches exactly one charac‐ ter). For example, to specify a set of declarations for any host in the “.co.uk” set of domains, the following pattern could be used: Host *.co.uk The following pattern would match any host in the 192.168.0.[0-9] network range: Host 192.168.0.? A pattern-list is a comma-separated list of patterns. Patterns within pattern-lists may be negated by preceding them with an exclamation mark ('!'). For example, to allow a key to be used from anywhere within an organisation except from the “dialup” pool, the following entry (in authorized_keys) could be used: from="!*.dialup.example.com,*.example.com"