基于 Ubuntu 18.04,
我只想允许用户在上午 9 点到下午 5 点之间访问(工作时间) 在 SSH 服务器上。(使用OpenSSH-server
包)
我查找了所有我认为可以帮助您的资料,从用户管理到 Google 上的 PAM 设置,但我认为没有任何信息可以通过 SSH 时区限制访问。
(但是,我没有使用类似的防火墙相关的服务ufw
。)
如果你能帮助我,请告诉我。谢谢。
(由于我的英语不好,请理解我的英语可能不自然。)
答案1
该pam_time
模块就是为此而设计的。
- 添加
pam_time
为 ssh pam 配置中的第一个语句。此命令将在该行上方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 登录。