Descrição do problema
Falha no logon remoto: Ao conectar-se a uma instância Linux por meio de um cliente Secure Shell (SSH) de terceiros, como PuTTY, XShell ou SecureCRT, a conexão falha com o erro
Access deniedouPermission denied, please try again..Log de segurança do sistema: O arquivo de log do sistema
/var/log/securecontém mensagens comonot allowed because.
Causa
Por padrão, o serviço SSH em uma instância Linux permite que qualquer usuário do sistema faça logon com suas credenciais (senha ou chave). Se políticas de restrição de logon estiverem ativadas no arquivo de configuração do serviço SSH /etc/ssh/sshd_config, configurações incorretas podem impedir que usuários específicos façam logon na instância.
AllowUsers: lista de permissões de usuários. Apenas os usuários listados podem fazer logon.
DenyUsers: lista de bloqueio de usuários. Os usuários listados não podem fazer logon.
AllowGroups: lista de permissões de grupos de usuários. Apenas os usuários dos grupos listados podem fazer logon.
DenyGroups: lista de bloqueio de grupos de usuários. Os usuários dos grupos listados não podem fazer logon.
As políticas de negação (Deny*) têm prioridade mais alta do que as políticas de permissão (Allow*). Se um usuário corresponder tanto a uma política de permissão quanto a uma de negação, o acesso será negado.
Solução
Faça logon em uma instância ECS usando uma conexão VNC.
Acesse Console do ECS - Instâncias. No canto superior esquerdo, selecione a região e o grupo de recursos da instância de destino.
Acesse a página de detalhes da instância de destino. Clique em Connect e selecione VNC. Insira suas credenciais para fazer logon na instância ECS.
Verifique e modifique o arquivo de configuração SSH.
Faça backup do arquivo de configuração para restaurá-lo em caso de erro.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bakLocalize e ajuste as políticas de controle de acesso.
sudo vi /etc/ssh/sshd_configModifique o arquivo de uma das seguintes maneiras:
Método 1: Comente todas as regras de restrição
Para remover as restrições de logon, comente os parâmetros
AllowUsers,DenyUsers,AllowGroupseDenyGroupsadicionando o símbolo#no início de cada linha. Isso permite que todos os usuários do sistema façam logon.# AllowUsers userA userB # DenyUsers userCMétodo 2: Corrija as regras de restrição
Para garantir que suas políticas sejam claras, evite usar regras de lista de permissões (
Allow*) e lista de bloqueio (Deny*) simultaneamente.Use uma política de lista de permissões (para cenários em que apenas poucos usuários específicos podem fazer logon)
Mantenha apenas o parâmetro
AllowUsersouAllowGroups. Adicione os usuários ou grupos de usuários que precisam de acesso à lista. Em seguida, comente ou exclua todos os parâmetrosDeny*.AllowUsers userA userB newUser # DenyUsers userCEste exemplo permite o logon apenas dos usuários
userA,userBenewUser, e nega acesso a todos os demais usuários.Use uma política de lista de bloqueio (para cenários em que apenas poucos usuários específicos devem ter o acesso negado)
Mantenha apenas o parâmetro
DenyUsersouDenyGroups. Adicione os usuários ou grupos de usuários que deseja bloquear à lista. Em seguida, comente ou exclua todos os parâmetrosAllow*.# AllowUsers userA userB DenyUsers userC userDEste exemplo nega acesso aos usuários
userCeuserD, e permite que todos os demais usuários façam logon.
Reinicie o serviço SSH para aplicar a nova configuração.
sudo systemctl restart sshd.serviceSe o serviço não iniciar, execute o comando
cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_configpara restaurar o arquivo de configuração a partir do backup.Tente fazer logon na instância novamente com o cliente SSH de terceiros para confirmar que o problema foi resolvido.