如何限制每个用户的基于ssh的并发会话?

我试图阻止我的SSH用户一次打开多个会话,我的系统是Ubuntu 11.10。

我以为这个设置是在/etc/security/limits.conf ,我设置了以下内容:

 betatest hard maxlogins 1 

但是,这不起作用,我可以使用不同机器上的用户帐户名称进行多次login。

sshd_config使用PAM,而/etc/pam.d的login和sshdconfiguration都有以下设置:

 session required pam_limits.so 

如果有人知道我可以如何限制每个用户的并发会话,我真的很感激帮助。

每个用户的设置是非常棘手的,你可能需要为此写一些包装脚本。 SSHDconfiguration有一个选项MaxSessions ,它限制每个ip的连接数量。

在我看来,从pam_limits(至less在rhel / centos)的MAN页面上看,为所需的用户添加maxlogins参数会起到诀窍的作用……但是我还没有对它进行testing:

 NAME pam_limits - PAM module to limit resources SYNOPSIS pam_limits.so [change_uid] [conf=/path/to/limits.conf] [debug] [utmp_early] [noaudit] DESCRIPTION The pam_limits PAM module sets limits on the system resources that can be obtained in a user-session. Users of uid=0 are affected by this limits, too. By default limits are taken from the /etc/security/limits.conf config file. Then individual *.conf files from the /etc/security/limits.d/ directory are read.