Controlando Quem Pode Acessar o SSH no Linux


O acesso via SSH é a principal porta de entrada em servidores Linux. E como toda porta, precisa de controle. Deixar o SSH livre para qualquer usuário do sistema é um convite aberto para problemas.

Neste post, vamos mostrar como restringir quem pode acessar o servidor via SSH. Desde liberar usuários ou grupos específicos, até bloquear o acesso de root e criar uma configuração minimalista e segura.


Por que limitar o SSH?

Por padrão, qualquer usuário do sistema pode tentar logar via SSH. Isso inclui contas administrativas, contas de serviço e até contas esquecidas. Mesmo que o login falhe, o simples fato de um usuário estar disponível já abre margem para ataques de força bruta, engenharia social ou escalonamento de privilégios.

Limitar quem pode tentar logar é um passo simples, mas extremamente eficaz na proteção do servidor.


Permitindo apenas usuários específicos

Abra o arquivo de configuração do SSH com:

sudo vi /etc/ssh/sshd_config

Adicione a seguinte linha ao final do arquivo:

AllowUsers usuario1 usuario2

Aqui, apenas usuario1 e usuario2 poderão autenticar via SSH. Todos os outros serão automaticamente bloqueados, mesmo que existam no sistema.

Depois, salve o arquivo e reinicie o serviço SSH com:

sudo systemctl restart sshd

Permitindo grupos de usuários

Se preferir controlar o acesso por grupos, primeiro crie um grupo com:

sudo groupadd sshusers

Em seguida, adicione os usuários desejados ao grupo:

sudo usermod -aG sshusers usuario1
sudo usermod -aG sshusers usuario2

Abra o sshd_config novamente:

sudo vi /etc/ssh/sshd_config

Adicione:

AllowGroups sshusers

E finalize com:

sudo systemctl restart sshd

Bloqueando usuários e grupos

É possível negar acesso a usuários ou grupos específicos, mesmo que eles estejam autorizados em outro lugar. Basta adicionar as seguintes linhas no sshd_config:

DenyUsers usuarioindesejado
DenyGroups grupobloqueado

Esse recurso é útil quando se quer manter um grupo autorizado, mas bloquear um ou outro usuário individualmente.


Impedindo acesso direto do root

Por padrão, muitas distribuições permitem login direto com o usuário root via SSH. Isso é uma falha de segurança grave.

Para desativar o login remoto do root, insira no sshd_config:

PermitRootLogin no

Com essa configuração ativa, o root só poderá ser acessado por sudo após um login com outro usuário autorizado.


Configuração Ultra-Restritiva

Se você quer o nível máximo de controle: apenas um usuário pode acessar o SSH. Todos os outros — inclusive root — são bloqueados.

No sshd_config, defina:

PermitRootLogin no
AllowUsers seuadmin

Depois disso, ninguém além de seuadmin terá acesso remoto ao servidor. A segurança fica bem mais objetiva.


Checklist Devdata de Segurança SSH

[ ] PermitRootLogin no aplicado


[ ] AllowUsers ou AllowGroups configurado


[ ] DenyUsers e DenyGroups utilizados quando necessário


[ ] Serviço SSH reiniciado (systemctl restart sshd)


[ ] Testes de acesso feitos de outra máquina


[ ] Acesso root via sudo garantido em conta autorizada


Esse é o tipo de controle de acesso que todo servidor de produção deveria ter — simples, direto e poderoso. Segurança começa com restrição.

Rolar para cima