Como posso permitir o acesso ao SSH apenas em um horário específico?

Como posso permitir o acesso ao SSH apenas em um horário específico?

Baseado no Ubuntu 18.04,

Quero permitir que os usuários acessem apenas das 9h às 17h(expediente) no servidor SSH. ( OpenSSH-serverpacote usado)

Pesquisei todos os materiais que acho que irão ajudá-lo, desde o gerenciamento de usuários até as configurações de PAM no Google, mas não acho que haja nenhuma informação para restringir o acesso por fuso horário SSH.

(Mas não preciso usar serviços relacionados a firewall, como ufw.)

Se você puder me ajudar, por favor me avise. Obrigado.

(Por favor, entenda que meu inglês pode não ser natural porque não sou bom em inglês.)

Responder1

O pam_timemódulo foi projetado para isso.

  1. Adicione pam_timecomo a primeira accountinstrução na configuração do ssh pam. Este comando irá inserir a instrução account required pam_time.sologo acima da linha @include common-account.
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
  1. configure /etc/security/time.confconforme desejado. Este comando adicionará a configuração sshd;*;*;Wk0900-1700. Isso limita as conexões ssh para todos os usuários aos dias da semana, entre 9h e 17h.
echo 'sshd;*;*;Wk0900-1700' >> /etc/security/time.conf

Veja também

Responder2

Use um cron job para parar e iniciar o servidor ssh em horários específicos. Por exemplo, crie um arquivo /etc/cron.d/start-stop-sshcom o seguinte conteúdo:

0 9 * * * root /usr/sbin/service ssh start
0 17 * * * root /usr/sbin/service ssh stop

Isso iniciará o serviço ssh todos os dias às 9h e o interromperá todos os dias às 17h.

Observe que quando o serviço for interrompido, ninguém (nem mesmo o administrador) poderá fazer login via ssh.

informação relacionada