Назад | Перейти на главную страницу

ssh: разрешить всем пользователям один IP-адрес и ограничить общедоступный IP одним пользователем

У меня есть сервер на 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