A versão de sssd
que permite definir configurações por grupo ainda estava em desenvolvimento quando me deparei com esse problema.
Acabei de adicionar uma entrada ForceCommand
à minha diretiva sshd_config
sob Match
, bem como uma diretiva AcceptEnv
:
Match Group [email protected]
AcceptEnv SomeVariable
AcceptEnv SomeOtherVariable
ForceCommand /path/to/some/script/I/wrote
Então, no shell script, eu uso as variáveis passadas pelo cliente ssh para executar alguma ação.
Por exemplo, se o cliente chamou isto:
$ SomeVariable=foo ssh -i path/to/key -l [email protected] -o SendEnv=SomeVariable bastion.server
O script terá acesso a uma variável de ambiente SomeVariable
; acessá-lo usando qualquer idioma que você goste, usando-o para tomar alguma ação.
Certifique-se de que seu script não saia em uma sessão de shell no bastião.