Como negar login SSH root + requer chave SSH para o usuário?

4

Depois de ler esta pergunta semelhante Não estou claro como exigir chaves SSH para user , enquanto nego o acesso SSH a root (chave ou senha). Eu vou usar sudo depois de logar como um usuário se eu precisar ser root.

Eu sei como exigir chaves SSH:

PermitRootLogin without-password

Eu sei como desativar o usuário 'root' do login:

PermitRootLogin no

Eu sei como colocar um usuário na lista de permissões:

AllowUsers user

Eu não sei como juntar tudo isso (ou se é mesmo necessário? - a chave SSH pode ser boa o suficiente). Eu normalmente resolveria uma resposta assim por tentativa e erro, mas eu tenho medo de me trancar deste servidor ...

    
por Tom Brossman 08.12.2013 / 15:19

1 resposta

7

Se você quiser desabilitar os logins de senha, basta definir PasswordAuthentication no no sshd_conf no servidor.

Não me lembro exatamente, mas acho que pelo menos nenhum login de raiz é o padrão.

A tentativa de efetuar login como qualquer usuário no sistema, que não tenha sua chave pública em ~/.ssh/authorized_keys , solicitará a senha, se uma senha está definida ou não, ou um shell estará disponível, se o login da senha tiver sido não foi desativado.

Eu acho que o que você quer é simplesmente:

PasswordAuthentication no
PermitRootLogin no

Isso não permitirá qualquer login de root, seja com a chave ssh ou senha, e exigirá que os usuários façam login com uma chave válida, como incluído por ter a chave pública no arquivo ~/.ssh/authorized_keys do usuário.

    
por dobey 08.12.2013 / 15:39