Executando um comando remoto na conexão SSH, antes do login

4

Estou tentando encontrar uma maneira de executar um comando específico ao se conectar a um servidor via SSH. Com isso quero dizer, o comando será executado incondicionalmente ao abrir uma conexão, então isso preferencialmente seria executado ao mesmo tempo em que uma opção Banner seria impressa se configurada. Não estou tentando executar um comando após efetuar login.

O que eu estou procurando, por exemplo:

$ ssh [email protected]
(Command essentially executed at this point, before the input prints.)
[email protected]'s password: 

A razão pela qual eu estou tentando fazer isso é que eu gostaria de executar um script curto que envia notificações push para o meu telefone sempre que uma conexão é feita, independentemente de eu fazer o login ou não. Eu planejei usar o pam_exec, mas isso só aciona auth se uma senha for inserida e a inserção for pressionada, e os módulos account e session_* serão acionados apenas em um login bem-sucedido. Se uma conexão for aberta, mas fechada, como quando um usuário simplesmente pressiona Ctrl + C, o script nunca será executado.

Existe algum método para fazer isso? Não estou encontrando muita informação sobre o assunto.

    
por Dave 15.12.2013 / 21:48

1 resposta

5

Você pode executar sshd via inetd , com inetd em execução:

sh -c 'your-command; exec sshd -iD'

em uma conexão de entrada (veja a advertência em sshd(8) ).

    
por 15.12.2013 / 23:31