Como permitir usuários root e restritos no SSH?

Como permitir usuários root e restritos no SSH?

É possível (e em caso afirmativo, como) fazer o seguinte com openssh-server:

  • para poder autenticar rooto usuário com uma chave e sem senha
  • ser capaz de autenticar um non-rootusuário com uma chave e sem senha
  • para evitar que o non-rootusuário faça login rootcom sua própria chave
  • fazer isso com uma única instância de sshd, usando apenas umTCP port

E sim, estou muito consciente dos riscos da PermitRootLogin yesopção.

Responder1

Isso deve funcionar "pronto para uso" e não deve exigir nada além de colocar as chaves públicas dos usuários em seu arquivo .ssh/authorized_keys para o usuário correspondente no servidor. (Se este arquivo não existir para o usuário, crie-o!)

A única coisa a ter em conta é que se a chave pública do utilizador não-root for adicionada aos servidores root/.ssh/authorized_keys, então esse utilizador não-root poderá iniciar sessão como root no servidor - para evitar isso, apenas não adicione sua chave ao arquivo root_authorized_keys.

Você já encontrou o PermitRootLogin - que, é claro, precisa estar habilitado no servidor. Você pode (opcionalmente) limitar quem pode fazer logon de onde (se houver) adicionando uma linha como "AllowUsers[e-mail protegido] [e-mail protegido]user2" - que permitirá apenas root e user1 de um endereço IP específico, mas o user2 pode efetuar login de qualquer lugar. Você pode estender isso com quantas combinações de usuário/ip forem necessárias.

informação relacionada