Você provavelmente tem limites definidos em /etc/security/limits.conf
, assim
root hard maxlogins 1
Altere o limite (1) para algo maior, se necessário.
Cheguei a uma situação em que tive que acessar uma máquina Linux via puTTY.Eu fiz várias tentativas de SSH, mas não consegui conectar-me à máquina. Eu então percebi que meu colega estava acessando a mesma máquina Linux como usuário root, e eu também queria acessar como usuário root. Pedi a ele que fizesse o logout para que eu pudesse logar como root. Existe uma maneira de limitar o número de login SSH em um sistema operacional Linux? Isso é algum tipo de recurso de segurança que distingue um sistema operacional baseado em Windows com um sistema operacional baseado em Linux.
Você provavelmente tem limites definidos em /etc/security/limits.conf
, assim
root hard maxlogins 1
Altere o limite (1) para algo maior, se necessário.
Sim, é possível limitar o número de sessões de login simultâneas, embora a maioria das distribuições Linux não imponham esses limites em suas configurações padrão.
O Linux é um sistema multiusuário adequado por design e normalmente você não deve ter problemas em ter várias sessões SSH simultâneas para o mesmo usuário.
O servidor SSH pode impor esses limites com a opção MaxSessions
no arquivo de configuração. Através do PAM você pode impor esses limites, assim como outros já apontaram.
Tentar convencer um daemon sshd
independente a limitar o número de sessões é repleto de brechas. Coisas como MaxSessions
limitam algo diferente do que o OP está falando. E sshd
ignora limits.conf
no linux (similarmente login.conf
no FreeBSD) a menos que você configure as coisas apropriadamente para rotear todas as sessões recebidas através do PAM e usar o módulo PAM apropriadamente configurado para verificar coisas como o limits.conf primeiro. É difícil fazer funcionar direito.
Por outro lado, se você não iniciar sshd
como um daemon independente, poderá usar os recursos de limitação na "coisa" que gera sshd
sob demanda.
Por exemplo, inetd
e xinetd
têm um recurso de limitação de conexão (que geralmente não impõe nenhum limite ao número de filas bifurcadas). No clássico inetd
, é chamado de "max-child". Com xinetd
, procure o botão de configuração instances
. Por exemplo, inetd
style:
ssh stream tcp nowait/3 root /usr/sbin/sshd sshd -i -4
Isso limita o número de conexões ssh simultâneas a 3.
Para aqueles que têm tanta inclinação, systemd
pode substituir a função inetd
e acredito que haja uma maneira de limitar o número de instâncias de um serviço. Exercício deixado para o leitor (ou adicione um comentário com os detalhes!).