
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-server
Paket)
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_time
Modul ist hierfür ausgelegt.
- Fügen Sie es
pam_time
als ersteaccount
Anweisung in die SSH-PAM-Konfiguration ein. Dieser Befehl fügt die Anweisungaccount required pam_time.so
direkt über der Zeile ein@include common-account
.
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
- wie gewünscht konfigurieren
/etc/security/time.conf
. Dieser Befehl fügt die Konfiguration hinzusshd;*;*;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-ssh
mit 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.