Descrição do problema
Ao tentar se conectar a uma instância Linux via SSH, a conexão falha e exibe a mensagem Permission denied, please try again, mesmo com o nome de usuário e a senha corretos.
Diagnosticar o problema
-
Acesse uma instância ECS por meio de uma conexão VNC.
Acesse o Simple Application Server console. Na barra de navegação superior, selecione a região e o grupo de recursos desejados.
Navegue até a página de detalhes da instância alvo. Clique em Connect e selecione VNC. Insira o nome de usuário e a senha para fazer login na instância ECS.
-
Verifique a configuração do serviço SSH.
Se
PermitRootLoginouPasswordAuthenticationestiver definido comono, consulte Resolver "Permission denied, please try again" no login SSH como root para solucionar o problema.PermitRootLogin: Quando definido comono, bloqueia o login SSH do usuário root.PasswordAuthentication: Quando definido comono, desabilita o login baseado em senha para todos os usuários.
sudo cat /etc/ssh/sshd_config -
Analise os logs de segurança do sistema.
O SELinux pode bloquear tentativas de login e registrar erros no log de segurança do sistema.
O SELinux aplica regras de Controle de Acesso Obrigatório (MAC) que determinam o que cada processo pode acessar.
# For CentOS/RHEL systems sudo grep -iE --color=auto 'Could not get shadow information' /var/log/secure # For Debian/Ubuntu systems sudo grep -iE --color=auto 'Could not get shadow information' /var/log/auth.logCaso o comando não retorne nenhuma saída, é provável que uma política do SELinux seja a causa. Consulte Resolver "Permission denied, please try again" no login SSH como root.
Resolução
Caso de uso 1: A configuração SSH nega o login
-
Modifique a configuração
sudo vi /etc/ssh/sshd_configAjuste os parâmetros conforme necessário:
Permitir autenticação por senha: Altere
PasswordAuthentication noparaPasswordAuthentication yes.-
Permitir login do usuário root:
Permitir autenticação por chave (Recomendado): Para usar um par de chaves no login como root, defina
PermitRootLogincomoprohibit-password.-
Permitir autenticação por senha: Altere
PermitRootLogin noparaPermitRootLogin yes.ImportantePermitir o login do usuário root com senha (
PermitRootLogin yes) aumenta a exposição da instância a ataques de força bruta. Recomendamos o uso de autenticação por chave ou a restrição de acesso por endereço IP de origem.
Após modificar o arquivo, pressione
Esc, digite:wqe pressioneEnterpara salvar o arquivo e sair. -
Verifique a configuração e reinicie o serviço
-
Valide a sintaxe do arquivo de configuração. A ausência de saída indica que a sintaxe está correta.
sudo sshd -t -
Reinicie o serviço SSH para aplicar as alterações.
sudo systemctl restart sshd
-
-
Verifique a conexão
Conecte-se novamente à instância via SSH para confirmar que o problema foi resolvido.
Caso de uso 2: A política do SELinux bloqueia o login
-
Verifique o status atual do SELinux
Confirme se o SELinux está no modo
enforcing.sudo sestatusSe a saída mostrar
SELinux statuscomoenabledeCurrent modecomoenforcing, a política do SELinux está ativa. -
Altere temporariamente o modo do SELinux para restaurar o acesso
Mude temporariamente o SELinux para o modo
Permissive. Nesse modo, o SELinux registra avisos, mas não bloqueia operações.sudo setenforce 0ImportanteEssa alteração é temporária e será revertida quando a instância for reiniciada.
Após executar o comando, tente fazer login novamente via SSH. Um login bem-sucedido confirma que o SELinux estava causando o problema.
-
Modifique permanentemente a configuração do SELinux (Opcional)
-
Edite o arquivo de configuração. Altere o modo padrão do SELinux de
enforcingparapermissive.sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config Reinicie a instância para aplicar a alteração.
-
-
Verifique a conexão
Conecte-se novamente à instância via SSH para validar a conexão.