Você deve conseguir isso usando Match
blocks (localAddress) com filtragem adicional de AllowUsers / DenyUsers no seu sshd_config , como este (supondo que 1.2.3.4 é o seu endereço público):
Match LocalAddress 1.2.3.4
AllowUsers git
Eu tenho um servidor em uma VPN. Este servidor tem um endereço público e tem uma instância do gitlab. Eu gostaria de poder me conectar com qualquer usuário ssh do endereço VPN, mas restringir o acesso ao usuário git do endereço público.
Como posso conseguir as duas coisas ao mesmo tempo?
Eu já estou restringindo o acesso assim:
# 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
Eu estou em um sistema de servidor Ubuntu, usando a versão 1: 5.9p1-5ubuntu1
do openssh Você deve conseguir isso usando Match
blocks (localAddress) com filtragem adicional de AllowUsers / DenyUsers no seu sshd_config , como este (supondo que 1.2.3.4 é o seu endereço público):
Match LocalAddress 1.2.3.4
AllowUsers git
Acabei usando o AllowUsers, sem um bloco de correspondência, assim:
AllowUsers git root@somepattern root@someotherpattern
Tags ssh authorization