Como posso bloquear minha própria conta a partir do login remoto do ssh com a senha?

10

Eu não quero desabilitar completamente o login remoto com senha, mas quero fazer com que minha conta só seja acessível com a autenticação de par de chaves (há outros usuários que desejam usar senhas para fazer login). É possível alterar isso em uma base por usuário, idealmente sem alterar as configurações do sistema?

E, para deixar claro, minha conta tem acesso sudo, então não quero bloquear a senha.

    
por phunehehe 27.05.2011 / 04:44

3 respostas

9

Você pode usar a opção "Corresponder" em sshd_config

Match Introduces a conditional block. If all of the criteria on the Match line are satisfied, the keywords on the following lines override those set in the global section of the config file, until either another Match line or the end of the file.[1]

Então, no final desse arquivo você pode especificar:

Match User yourusername
PasswordAuthentication no

Veja man 5 sshd_config para todas as opções disponíveis.

[1] link

    
por 27.05.2011 / 05:16
1

O resposta do jasonwryan será o caminho certo para fazer essa mudança. A única adição que gostaria de fazer é que você poderia definir a correspondência para ser baseada em grupo, de modo que qualquer usuário no grupo wheel fosse obrigado a usar autenticação de chave, enquanto outros poderiam usar senhas.

Eu sei que você quer fazer isso sem alterar os arquivos de configuração do sistema, mas há uma boa razão para isso não ser possível. Em sua cabeça, faz sentido que seu usuário possa instituir uma política de login mais segura, mas só porque em sua mente é uma opção mais segura não muda o fato de que ainda é uma mudança nos requisitos de login do sistema para um usuário remoto.

Para entender por que isso é um problema, imagine o cenário ao contrário. O administrador do sistema (que pode alterar os arquivos de configuração do sistema) configura o sistema apenas para login baseado em chave. Em seguida, algum usuário aparece e apenas acessa seu próprio arquivo de usuário e configura sua conta para permitir a autenticação de senha, substituindo a diretiva do sistema. BEEEEEEP . Problema de segurança!

Isso explica por que o tipo de mudança que você quer fazer só é possível a partir do arquivo de configuração do sistema?

    
por 27.05.2011 / 07:50
0

Adding restrictions for yourself, not changing anything

Por que não no lado do cliente, se tiver certeza de que o ssh seria o cliente a ser usado para tentativas de login? Se sim, tente fazer alterações em ssh_config em vez de sshd_config. Verifique o parâmetro 'PasswordAuthentication No' e PreferredAuthentications

    
por 30.11.2011 / 08:52