Dica rápida mas bem útil para quer precisa fazer controles mais "aprimorados" sobre uma conexão SSH.
Estava/estou eu estudando para a prova a
LPI-202, e na parte do SSH descubro esse "diamante", que me foi de grande surpresa, pois eu não conhecia, geralmente é mais conhecido/utilizado para aplicar alguma limitação no acesso ao SSH as opções DenyUsers, AllowUsers, DenyGroups, AllowGroups, que pelos nomes já são auto explicativas, mas são bem "engessadas" e limitadas a acesso ou bloqueio.
Para contornar isso podemos utilizar da opção "Match", com ela podemos ser bem mais flexíveis em todos os sentidos.
Obs.:
- As configurações aplicadas no "Match" sobrescrevem as opções globais.
- Configurações são feitas no /etc/ssh/sshd_config, eu adicionei no final do arquivo.
Liberar o X11Forwarding apenas para usuário Batatinha:
Match User Batatinha
X11Forwarding yes
Liberar o X11Forwarding apenas para IP X:
Match Address 1.2.3.4
X11Forwarding yes
Liberar o login como root com senha apenas para os IPs (vários ou poderia ser um apenas) X, Y:
Match Address 192.168.2.1,192.168.2.2
PermitRootLogin yes
Liberar o login como root com senha, apenas para os IPs X, Y, Z e host ssh.teste.com:
Match Address 192.168.2.1,192.168.2.2 Host ssh.teste.com
PermitRootLogin yes
Liberar o login como root com senha apenas quando for do usuário batatinha mas da rede X:
Match User Batatinha Address 172.16.100.*
PermitRootLogin yes
Bloquear logins de qualquer usuário, quando a origem for a rede X:
Match Address 172.16.100.*
DenyUsers *
Bloqueia todos usuários menos o batatinha:
Match Users *,!batatinha
DenyUsers *
E muito mais pode ser feito....
Acredito que essa opção abra um leque bem maior de configurações.
Espero que seja útil.
Abraço.
Caso queira ver mais opções: