Desabilita o login SSH via senha por usuário?

3

Eu perguntei a alguns provedores de hospedagem na web (Bluehost e Dreamhost) e os dois disseram que em contas de hospedagem compartilhada eles não têm como desabilitar o login via SSH com uma senha. O que isso significa é que, mesmo que configuremos chaves SSH, fazer login sem elas e por meio da senha da hospedagem sempre será ativado, praticamente negando a maior parte das vantagens das chaves.

Do que posso encontrar on-line, editar /etc/ssh/sshd_config é o caminho a percorrer desabilitar o login por meio de uma senha, mas como é hospedagem compartilhada, isso não é uma possibilidade.

Tudo isso dito, eles nunca alegaram que não pode ser feito (embora eu não tenha encontrado um jeito), só que eles não suportam isso. Existe uma maneira de fazer isso por usuário, para que eu possa configurá-lo sozinho? E se não, por que não, qual é a limitação (técnica / design) na forma como o SSH funciona que o impede?

    
por user137369 31.12.2014 / 15:53

3 respostas

3

[Is there a way to] disable SSH login via password on a per-user basis?

Não. Geralmente.

what is the (technical/design) limitation in the way SSH works that prevents it?

Há uma observação no design ou na especificação do protocolo SSH que impede isso.

É uma restrição específica da implementação no daemon SSH (ou serviço)

O programa usual sshd nas plataformas Linux (etc) foi escrito para ler um único arquivo de configuração que se aplica a todos os usuários daquela instância do programa.

Eu acredito que seria possível escrever um daemon SSH que procura por um arquivo de configuração suplementar no diretório pessoal de um usuário (por exemplo). No entanto, isso não foi feito (demanda insuficiente, provavelmente)

Existe algo aproximadamente equivalente?

O que você pode fazer é definir a senha de login do usuário para uma string extremamente longa e completamente aleatória.

Pode ser possível usar o shell para definir uma senha que contenha caracteres que não podem ser inseridos usando clientes SSH da classificação que se acredita ser usada por invasores. Ou, pelo menos, para definir uma senha que seja muito mais longa do que qualquer outra que possa tentar usando as abordagens usuais baseadas em dicionário.

    
por 08.03.2016 / 15:32
-1

O SSH suporta esta função, e é bastante trivial de implementar - como outros já disseram, ela precisa da cooperação do seu provedor. Você faria isso configurando uma conta de usuário sem uma senha válida (na minha distro você pode fazer isso não digitando uma senha algumas vezes no adduser, mas você sempre pode editar / etc / shadow e alterar a senha criptografada para " * "ou"! "- quantas contas já estarão configuradas.

O segundo passo é instalar sua chave pública em authorised_hosts - isso nega a necessidade do ssh de verificar sua senha para lhe dar acesso.

    
por 31.12.2014 / 20:14
-1

Com o servidor OpenSSH, para desabilitar a autenticação de senha por usuário, você adicionaria essas linhas ao arquivo sshd_config :

Match user someuser
PasswordAuthentication no

Consulte o manual do sshd_config para detalhes. Depois de editar o sshd_config, certifique-se de reiniciar o sshd.

    
por 01.01.2015 / 13:42