Eu não sei como fazer isso em um bloco Match
, e seu comentário acima sugere que não é possível (assim como, como você nota, a página man
).
Mas, se tiver certeza de que deseja fazer a restrição de usuários por interface - o que suas perguntas dizem - você pode executar dois sshd
s, cada um com um sshd_config
diferente, que o direciona para ouvir em um somente interface, controlada pela diretiva ListenAddress
.
A sshd
que escuta na interface interna pode ter em sua configuração AllowUsers user1 user2
, enquanto que a escuta na interface externa pode ter AllowUsers user1
. Eu provavelmente faria isso por ser membro do grupo e ter AllowGroups internal
/ AllowGroups internal external
, mas isso é só comigo.
Editar : imo, a maneira correta de fazer isso é executar /usr/sbin/sshd -f /etc/ssh/sshd_config_inside
e /usr/sbin/sshd -f /etc/ssh/sshd_config_outside
. Organizar como isso funciona no momento da inicialização e garantir que seus arquivos de inicialização / desligamento de serviço façam a coisa certa é realmente importante, mas também é uma coisa perfeitamente normal que um administrador de sistema precise fazer e fazer. É definitivamente não é necessário ter dois binários, ou mesmo o mesmo binário por dois nomes diferentes, para fazer isso.