Eu tenho uma abordagem ainda mais restritiva para conceder privilégios de root no meu servidor, o que pode ser interessante para os paranóicos como eu. Cuidado com o que faz e em que ordem; caso contrário, você pode acabar com um sistema no qual não pode obter acesso root.
- Crie um grupo específico
sugroup
, cujos membros poderão se tornar raiz e permitir apenas a autenticação de chave para esse grupo, colocando as seguintes linhas no final do sshd_confid:
Match Group sugroup
PasswordAuthentication no
- Coloque o comando
auth required pam_wheel.so group=sugroup
no /etc/pam.d/su
. Pode já estar lá e você só precisa descomentá-lo. Isso nega acesso root a todos os usuários que não são membros do sugroup
- Escolha uma senha root forte :)
- Verifique se o seu novo método de autenticação funciona e somente se:
- Negue o login root direto via ssh usando
PermitRootLogin no
in /etc/ssh/sshd_config
.
Usando esta configuração, é necessário usar uma autenticação de chave e uma senha para se tornar root. Eu configurei meu servidor assim, pois prefiro não ter acesso root direto via ssh, independentemente do método de autenticação.
service ssh restart
no servidor e, em seguida, no cliente, tentei conectar-me sem a minha chavessh -o PreferredAuthentications=password -o PubkeyAuthentication=no root@host
e, de fato, não consegui entrar com a senha, mas com a chave para o usuário root.