Descrição do problema
Ao conectar-se a uma instância Linux via SSH, a conexão falha com a mensagem Permission denied, please try again, mesmo com o nome de usuário e a senha corretos.
Diagnóstico do problema
-
Faça logon na instância ECS usando 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.
Acesse a página de detalhes da instância de destino. Clique em Connect e selecione VNC. Insira o nome de usuário e a senha para fazer logon na instância ECS.
-
Verifique a configuração do service SSH.
Se
PermitRootLoginouPasswordAuthenticationestiver definido comono, consulte Resolve "Permission denied, please try again" for root SSH login para resolver o problema.PermitRootLogin: Quando definido comono, bloqueia o login SSH do usuário root.PasswordAuthentication: Quando definido comono, desativa o login por senha para todos os usuários.
sudo cat /etc/ssh/sshd_config -
Verifique 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.logSe o comando não retornar nenhuma saída, uma política SELinux é a causa provável. Consulte Resolve "Permission denied, please try again" for root SSH login.
Resolução
Caso de uso 1: A configuração SSH nega o logon
-
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 logon do usuário root:
Permitir autenticação por chave (Recomendado): Para usar um par de chaves no logon como root, defina
PermitRootLogincomoprohibit-password.-
Permitir autenticação por senha: Altere
PermitRootLogin noparaPermitRootLogin yes.ImportantePermitir o logon do 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 restrict access by source IP address.
Após modificar o arquivo, pressione
Esc, digite:wqe pressioneEnterpara salvar o arquivo e sair. -
Verifique a configuração e reinicie o service
-
Verifique a sintaxe do arquivo de configuração. A ausência de saída indica que a sintaxe está correta.
sudo sshd -t -
Reinicie o service SSH para aplicar as alterações.
sudo systemctl restart sshd
-
-
Verifique a conexão
Conecte-se à instância novamente via SSH para confirmar que o problema foi resolvido.
Caso de uso 2: A política SELinux bloqueia o logon
-
Verifique o status atual do SELinux
Confirme se o SELinux está no modo
enforcing.sudo sestatusSe a saída exibir
SELinux statuscomoenabledeCurrent modecomoenforcing, a política SELinux está ativa. -
Altere temporariamente o modo do SELinux para restaurar o acesso
Mude o SELinux temporariamente para o modo
Permissive. Neste modo, o SELinux registra avisos, mas não bloqueia operações.sudo setenforce 0ImportanteEssa alteração é temporária e é revertida quando a instância é reiniciada.
Após executar o comando, tente fazer logon novamente via SSH. Um logon bem-sucedido confirma que o SELinux era a causa do 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 à instância novamente via SSH para confirmar que a conexão está funcionando corretamente.