一台Linux计算机上的SSH连接数


14

我陷入了不得不通过puTTY访问Linux机器的情况。我尝试了各种SSH尝试,但无法连接到该机器。然后我意识到我的同事正在以root用户身份访问同一台Linux计算机,我也想以root用户身份进行访问。我请他注销以便以root用户身份登录。有没有一种方法可以限制Linux操作系统上的SSH登录数量?这是某种安全功能,可以区分基于Windows的操作系统和基于Linux的操作系统。


1
您是说他注销后可以以root用户身份登录吗?您想知道如何或在何处设置此限制?
马特

是的,一旦他注销,我便能够以root用户身份登录
turmoilawaits 2014年

Answers:


8

是的,可以限制并发登录会话的数量,尽管大多数Linux发行版均未在默认设置中强加此类限制。

从设计上说,Linux是合适的多用户系统,通常,对于同一用户,有多个并发SSH会话不会有任何问题。

SSH服务器可以MaxSessions通过配置文件中的选项强加此类限制。通过PAM,您可以施加其他已经指出的限制。


我正在使用Cent OS 6.4。是否限制并发SSH会话?
turmoilawaits

默认不是。
HBruijn 2014年

7

您可能/etc/security/limits.conf像这样设置了限制

root hard maxlogins 1

如果需要,将极限值(1)更改为更高的值。


此设置不会影响Centos6上的并发SSH登录
bbaassssiiee 2014年

这是PAM查找的限制。如果您允许通过ssh密钥进行root登录,那么
Matt

2

试图说服一个独立的sshd守护程序来限制会话数充满了漏洞。诸如MaxSessionsOP 之类的东西限制了其他事情。并在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,我相信有一种方法可以限制服务实例的数量。留给读者练习(或在评论中添加详细信息!)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.