
É possível (e em caso afirmativo, como) fazer o seguinte com openssh-server
:
- para poder autenticar
root
o usuário com uma chave e sem senha - ser capaz de autenticar um
non-root
usuário com uma chave e sem senha - para evitar que o
non-root
usuário faça loginroot
com 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 yes
opçã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.