Como restringir o login root SSH, mas permitir algumas exceções

Como restringir o login root SSH, mas permitir algumas exceções

no openssh, você pode restringir o login root (PermitRootLogin no), mas pode haver uma exceção?

Responder1

Dado que fazer login como root não é uma boa ideia, dê uma olhada na página de manual do sshd:

PermitRootLogin

Especifica se o root pode efetuar login usando ssh(1). O argumento deve ser ``sim'', ``sem senha'', ``somente comandos forçados'' ou ``não''. O padrão é ``sim''.

Se esta opção estiver definida como ``sem-senha'', a autenticação por senha será desabilitada para root.

Se esta opção estiver definida como ``forced-commands-only'' o login de root com autenticação de chave pública serápermitido, mas apenas se a opção de comando tiver sido especificada (o que pode ser útil para fazer backups remotos mesmo que o login de root normalmente não seja permitido). Todos os outros métodos de autenticação estão desabilitados para root.

Se esta opção estiver definida como ``no'' root não terá permissão para efetuar login.

Portanto, você pode usar PermitRootLogin without-passwordpara permitir a autenticação de chave privada/pública e ao mesmo tempo proibir a autenticação por senha; ou talvez PermitRootLogin forced-commands-onlypermitir que você faça login como root, mas sem acesso interativo.

O último caso requer que você edite authorized_keyso arquivo, para especificar qual comando está habilitado para o log do usuário, assim:

command="rdiff-backup --server" ssh-rsa AAAAB3NzaC1y... (rest of key)

ou melhor ainda, permita login root somente com comandos forçados apenas a partir de um endereço IP específico:

from="10.1.1.1",command="/home/user/command/to/execute" ssh-rsa AAAAB3NzaC1y... (rest of key)

informação relacionada