¿Cómo puedo permitir el acceso a SSH solo en un momento específico?

¿Cómo puedo permitir el acceso a SSH solo en un momento específico?

Basado en Ubuntu 18.04,

Quiero permitir que los usuarios accedan solo de 9 am a 5 pm (tiempo de trabajo) en el servidor SSH. ( OpenSSH-serverpaquete usado)

He buscado todos los materiales que creo que le ayudarán, desde la gestión de usuarios hasta la configuración de PAM en Google, pero no creo que haya ninguna información para restringir el acceso por zona horaria SSH.

(Pero no tengo que utilizar servicios relacionados con firewall como ufw).

Si puedes ayudarme, por favor házmelo saber. Gracias.

(Por favor, comprenda que mi inglés puede ser poco natural porque no soy bueno en inglés).

Respuesta1

El pam_timemódulo está diseñado para esto.

  1. Agregue pam_timecomo primera accountdeclaración en la configuración de ssh pam. Este comando insertará la declaración account required pam_time.sojusto encima de la línea @include common-account.
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
  1. configurar /etc/security/time.confcomo desee. Este comando agregará la configuración sshd;*;*;Wk0900-1700. Esto limita las conexiones ssh para todos los usuarios a los días laborables entre las 9 a. m. y las 5 p. m.
echo 'sshd;*;*;Wk0900-1700' >> /etc/security/time.conf

Ver también

Respuesta2

Utilice un trabajo cron para detener e iniciar el servidor ssh en momentos específicos. Por ejemplo, cree un archivo /etc/cron.d/start-stop-sshcon el siguiente contenido:

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

Esto iniciará el servicio ssh todos los días a las 9:00 y lo detendrá todos los días a las 17:00.

Tenga en cuenta que cuando el servicio se detiene, nadie (ni siquiera el administrador) podrá iniciar sesión a través de ssh.

información relacionada