Número de conexões SSH em uma única máquina linux

10

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.

    
por turmoilawaits 29.04.2014 / 13:10

3 respostas

6

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.

    
por 29.04.2014 / 13:45
6

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.

    
por 29.04.2014 / 13:50
1

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!).

    
por 01.04.2016 / 23:33

Tags