У меня есть сервер на VPN. У этого сервера есть публичный адрес и на нем есть экземпляр gitlab. Я хотел бы иметь возможность подключаться к любому пользователю ssh с адреса VPN, но ограничить доступ для пользователя git с публичного адреса.
Как я могу достичь и того, и другого одновременно?
Я уже ограничиваю доступ вот так:
# Listen on localhost
ListenAddress 127.0.0.1
# Listen on public address
ListenAddress 1.2.3.4
# Listen on the VPN address
ListenAddress 5.6.7.8
Я использую серверную систему Ubuntu, использую openssh версии 1: 5.9p1-5ubuntu1
Вы можете добиться этого, используя Match
блоки (localAddress) с дополнительной фильтрацией AllowUsers / DenyUsers в вашем sshd_config файл, например (при условии, что 1.2.3.4 - ваш публичный адрес):
Match LocalAddress 1.2.3.4
AllowUsers git
В итоге я использовал AllowUsers без блока совпадений, например:
AllowUsers git root@somepattern root@someotherpattern