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