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

2 ответа

Вы должны быть в состоянии достичь этого, используя 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
Другие вопросы по тегам