É possível matar conexões SSH que não estão executando um comando (por exemplo, com -N)

2

Se um cliente não executar um comando (por exemplo, com -N) dentro de algum período de tempo (1-2 segundos) depois de estabelecer a conexão SSH, eu gostaria de finalizá-lo do servidor.

Infelizmente, os comandos ForceCommand e authorized_keys -prefixed não são executados quando executados com -N , mas os clientes ainda poderiam solicitar encaminhamentos remotos ( -R ) para fazer o backup de portas no servidor.

Eu gostaria de evitar esse cenário, mas prefixar as chaves com no-port-forwarding não é uma opção porque if eles executam um comando que eu quero permitir o encaminhamento de porta. Nesse caso, meu comando forçado é executado e eu posso fazer a validação para garantir que seja permitido.

A minha única opção é ter algum monitor de processo externo sshd instances e verificar se eles têm algum processo filho (por exemplo, shell ou comando executado)?

    
por Bo Jeanes 28.12.2011 / 04:24

1 resposta

0

Se você disser que -N funciona sempre, então não há outra opção além de ter o processo externo monitorando os childs do sshd. Eu verifiquei a página man do sshd_config e não encontrei nenhuma opção que pudesse ajudá-lo. Também não especifica se -N deve funcionar com ForceCommand ou não.

    
por 11.01.2012 / 11:30

Tags