Configure o Ubuntu para permitir login ssh via pulic / chave privada e sudo sem senha

2

Estou configurando um novo servidor Ubuntu 13.04. Eu criei alguns usuários e copiei suas chaves públicas para autenticação ssh em suas pastas base. O login via senha será desativado. Tudo funciona bem até agora, mas se eu fizer o login via ssh + chave privada, não posso sudo. Eu tenho que digitar uma senha, mas todas as senhas estão vazias.

Eu encontrei várias dicas de como alterar o arquivo / etc / sudoers, mas também muitos avisos para não editar o arquivo manualmente. Então minha pergunta é:

  • É seguro usar apenas autenticação de chave pública / privada sem senha?
  • Qual é a maneira correta de configurar esse comportamento?
por Achim 19.07.2013 / 19:33

2 respostas

2

Você está realmente falando sobre duas coisas diferentes. Configurar o SSH para fazer somente autenticação baseada em chave faz parte da configuração do sshd, e o sudo (sem senha ou não) é manipulado pelo pam. O que você realmente deveria estar fazendo é isto:

Configurar o SSHD para permitir somente a autenticação de chave SSH

Edite seu /etc/ssh/sshd_config para modificar e / ou adicionar conforme necessário o seguinte

PubkeyAuthentication yes
PasswordAuthentication no

Em seguida, reinicie o sshd service.

Configurando o sudo

Você vai querer escolher o seu grupo sudo e modificar o arquivo sudoers, usando o comando visudo e adicionar algo assim.

%wheel   ALL=(ALL)       ALL

Isso permitirá que todos no grupo wheel executem qualquer comando como qualquer usuário. Note que eles precisarão digitar uma senha para fazer isso. Por padrão, a maioria das distribuições os faz digitar sua própria senha, mas às vezes o sudo é configurado para que eles digitem a senha de destino.

Como alternativa, você pode configurar o sudo para não solicitar uma senha. Eu não recomendo isso, exceto no caso de ações automatizadas realizadas por contas de serviço. Nessa situação você pode especificar somente a conta de serviço pode executar somente um comando específico. No entanto, você é mais do que capaz de remover o requisito de senha sudo, alterando a linha acima para algo como:

%wheel  ALL=(ALL)  NOPASSWD: ALL
    
por 19.07.2013 / 19:52
0

Por que as senhas estão vazias? Você pode desativar a autenticação de senha no SSH e manter as senhas para entrar no sudo. Para desabilitar a autenticação de senha no SSH, edite o arquivo / etc / ssh / sshd_config e ative o PasswordAuthentication no

A troca de chaves é muito mais segura que a senha: existem 2048 bytes para serem encontrados no lugar de 5-10 caracteres ...

    
por 19.07.2013 / 19:46