我陷入了不得不通过puTTY访问Linux机器的情况。我尝试了各种SSH尝试,但无法连接到该机器。然后我意识到我的同事正在以root用户身份访问同一台Linux计算机,我也想以root用户身份进行访问。我请他注销以便以root用户身份登录。有没有一种方法可以限制Linux操作系统上的SSH登录数量?这是某种安全功能,可以区分基于Windows的操作系统和基于Linux的操作系统。
我陷入了不得不通过puTTY访问Linux机器的情况。我尝试了各种SSH尝试,但无法连接到该机器。然后我意识到我的同事正在以root用户身份访问同一台Linux计算机,我也想以root用户身份进行访问。我请他注销以便以root用户身份登录。有没有一种方法可以限制Linux操作系统上的SSH登录数量?这是某种安全功能,可以区分基于Windows的操作系统和基于Linux的操作系统。
Answers:
是的,可以限制并发登录会话的数量,尽管大多数Linux发行版均未在默认设置中强加此类限制。
从设计上说,Linux是合适的多用户系统,通常,对于同一用户,有多个并发SSH会话不会有任何问题。
SSH服务器可以MaxSessions
通过配置文件中的选项强加此类限制。通过PAM,您可以施加其他已经指出的限制。
您可能/etc/security/limits.conf
像这样设置了限制
root hard maxlogins 1
如果需要,将极限值(1)更改为更高的值。
试图说服一个独立的sshd
守护程序来限制会话数充满了漏洞。诸如MaxSessions
OP 之类的东西限制了其他事情。并在linux 上sshd
忽略limits.conf
(类似login.conf
在FreeBSD上),除非您正确配置了东西以通过PAM路由所有传入的会话,并使用经过适当配置的PAM模块首先检查了limit.conf之类的东西。很难使其正常工作。
另一方面,如果您不是sshd
作为独立的守护程序启动的,则可以使用sshd
按需生成的“事物”中的限制功能。
例如,inetd
并且xinetd
具有连接限制功能(通常默认情况下不对派生子代的数量实施任何限制)。在经典中inetd
,它被称为“最大孩子”。使用xinetd
,查找instances
配置旋钮。例如,inetd
样式:
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
这限制了并发ssh连接的数量为3。
对于那些愿意的人,systemd
可以替换的功能inetd
,我相信有一种方法可以限制服务实例的数量。留给读者练习(或在评论中添加详细信息!)。