Linux 技术手札

Linux 限制帐号及群组 SSH 同时登入

在登入 SSH 时, 可以开启多个 SSH Client , 使用同一个帐号同时连接, 这个情况有时也是需要的。但如果要限制个别帐号同时登入的数量, 可以用以下方法设定。

在多数 Linux 发行版, 在 /etc/security/ 目录下的 limits.conf 档案, 可以设定每个帐号或群组同时建立 SSH session 的数量。编辑这个档案需要有 root 权限, 可以用 sudo 开启:

$ sudo vi /etc/security/limits.conf

例如想限制帐号 opencli 只可以同时建立一个 SSH session, 可以加入以下内容:

opencli hard maxlogins 1

如果要限制群组的帐号, 可以用以下格式:

groupname hard maxlogins 1

如果要限制系统所有帐号, 可以用 * 取代帐号名称:

* hard maxlogins 1

当帐号尝试建立超出限制的 session 时, 登入时会看到以下错误:

Too many logins for ‘opencli’.
Last login: Tue Feb 20 08:12:11 2020 from xxx.xxx.xxx.xxx
Connection to xxx.xxx.xxx.xxx closed.

另一种情况是想限制整台主机可以建立的 session, 可以用 maxsyslogins:

* hard maxsyslogins 1

设定了上面语法后, 系统同时只可以该一个帐号建立一个 SSH sessions.

Exit mobile version