
基於Ubuntu 18.04,
我想只允許用戶從上午 9 點到下午 5 點訪問(工作時間)在 SSH 伺服器上。 (二手OpenSSH-server
包)
我已經在 Google 上查找了所有我認為可以幫助您從用戶管理到 PAM 設定的資料,但我認為沒有任何資訊可以透過 SSH 時區限制存取。
(但是,我不必使用與防火牆相關的服務,例如ufw
。)
如果您能幫助我,請告訴我。謝謝。
(請理解我的英語可能不自然,因為我英語不好。)
答案1
該pam_time
模組就是為此而設計的。
- 新增為ssh pam 配置中的
pam_time
第一條語句。該指令將在該行的正上方account
插入語句。account required pam_time.so
@include common-account
sed -i -e '/^.include common-account/i account required pam_time.so' /etc/pam.d/sshd
/etc/security/time.conf
根據需要進行配置。該命令將會新增配置sshd;*;*;Wk0900-1700
。這將所有用戶的 ssh 連線限制在工作日上午 9 點到下午 5 點之間。
echo 'sshd;*;*;Wk0900-1700' >> /etc/security/time.conf
也可以看看
答案2
使用 cron 作業在特定時間停止和啟動 ssh 伺服器。例如,建立一個/etc/cron.d/start-stop-ssh
包含以下內容的文件:
0 9 * * * root /usr/sbin/service ssh start
0 17 * * * root /usr/sbin/service ssh stop
這將在每天 9:00 啟動 ssh 服務,並在每天 17:00 停止。
請注意,當服務停止時,任何人(甚至管理員)都無法透過 ssh 登入。