Wie kann ich den Zugriff auf SSH nur zu einer bestimmten Zeit zulassen?

Wie kann ich den Zugriff auf SSH nur zu einer bestimmten Zeit zulassen?

Basierend auf Ubuntu 18.04,

Ich möchte Benutzern den Zugriff nur von 9 bis 17 Uhr erlauben (Arbeitszeit) auf dem SSH-Server. (verwendetes OpenSSH-serverPaket)

Ich habe bei Google alle Materialien nachgeschlagen, die Ihnen meiner Meinung nach weiterhelfen, von der Benutzerverwaltung bis zu den PAM-Einstellungen, aber ich glaube nicht, dass es Informationen zur Zugriffsbeschränkung nach SSH-Zeitzone gibt.

(Aber ich muss keine Firewall-bezogenen Dienste wie verwenden ufw.)

Wenn Sie mir helfen können, lassen Sie es mich bitte wissen. Danke.

(Bitte haben Sie Verständnis dafür, dass mein Englisch unnatürlich klingen kann, da ich nicht gut Englisch kann.)

Antwort1

Das pam_timeModul ist hierfür ausgelegt.

  1. Fügen Sie es pam_timeals erste accountAnweisung in die SSH-PAM-Konfiguration ein. Dieser Befehl fügt die Anweisung account required pam_time.sodirekt über der Zeile ein @include common-account.
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
  1. wie gewünscht konfigurieren /etc/security/time.conf. Dieser Befehl fügt die Konfiguration hinzu sshd;*;*;Wk0900-1700. Dies beschränkt SSH-Verbindungen für alle Benutzer auf Wochentage zwischen 9 und 17 Uhr.
echo 'sshd;*;*;Wk0900-1700' >> /etc/security/time.conf

Siehe auch

Antwort2

Verwenden Sie einen Cron-Job, um den SSH-Server zu bestimmten Zeiten zu stoppen und zu starten. Erstellen Sie beispielsweise eine Datei /etc/cron.d/start-stop-sshmit folgendem Inhalt:

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

Dadurch wird der SSH-Dienst jeden Tag um 9:00 Uhr gestartet und um 17:00 Uhr gestoppt.

Bitte beachten Sie, dass sich niemand (nicht einmal der Administrator) per SSH anmelden kann, wenn der Dienst gestoppt ist.

verwandte Informationen