Descrição do problema
Ao usar um cliente SSH de terceiros para se conectar a uma instância Linux, a conexão é recusada mesmo com credenciais corretas. Você recebe uma das seguintes mensagens de erro:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic) # Error message 1: All attempted authentication methods were rejected by the server.
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) # Error message 2: No mutually supported authentication method was found.
Connection closed by XX.XX.XX.XX # Error message 3: The server closed the connection during the authentication phase.
Soluções
Falha no logon por senha: Confirme se o logon por senha não está desativado na configuração da instância.
-
Confirme se o logon por chave não está desativado na configuração da instância.
Verifique se a chave pública foi adicionada corretamente ao arquivo
~/.ssh/authorized_keysdo usuário.
Caso de uso 1 : Falha no logon por senha
-
Faça logon na instância do Elastic Compute Service (ECS).
Acesse ECS console - Instances. No canto superior esquerdo, selecione a região e o grupo de recursos do recurso de destino.
Na página de detalhes da instância, clique em Connect e selecione VNC. Insira o nome de usuário e a senha para fazer logon na instância ECS.
-
Ative a autenticação por senha.
Edite o arquivo de configuração do SSH. Verifique se o parâmetro
PasswordAuthenticationestá definido comoyes. Se a linha estiver comentada (iniciando com#), remova o caractere#.sudo vim /etc/ssh/sshd_config -
Reinicie o serviço SSH. Para aplicar as alterações, reinicie o serviço SSH.
-
Para Alibaba Cloud Linux e CentOS:
sudo systemctl restart sshd.service -
Para Debian e Ubuntu:
sudo systemctl restart ssh.service
-
-
Verifique a correção.
No seu cliente SSH, tente conectar-se novamente usando a senha para validar a solução.
Caso de uso 2: Falha no logon por chave
-
Faça logon na instância ECS.
Acesse ECS console - Instances. No canto superior esquerdo, selecione a região e o grupo de recursos do recurso de destino.
Na página de detalhes da instância, clique em Connect e selecione Workbench. Siga as instruções na tela para fazer logon e acessar o terminal.
-
Ative o logon por chave.
-
Edite o arquivo de configuração do SSH.
sudo vim /etc/ssh/sshd_config -
No modo de edição, localize o parâmetro
PubkeyAuthentication.Se o valor for
noou a linha estiver comentada, o logon por chave está desativado. Descomente a linha, altere o valor parayes, salve e saia do arquivo.Caso o valor seja
yes, prossiga para copiar a chave pública para o arquivo authorized_keys do usuário.
-
-
Copie a chave pública para o arquivo
authorized_keysdo usuário.Usuário root
-
Edite o arquivo
authorized_keys.sudo vim /root/.ssh/authorized_keysCole a chave pública no arquivo, colocando cada chave em uma nova linha. Em seguida, salve e feche o arquivo.
-
Defina as permissões do arquivo.
Permissões incorretas podem causar falha no logon SSH.
sudo chmod 700 /root/.ssh sudo chmod 600 /root/.ssh/authorized_keys
Usuário não root
Nos comandos abaixo, substitua
<username>pelo nome de usuário de logon desejado.-
Edite o arquivo
authorized_keys.sudo vim /home/<username>/.ssh/authorized_keysCole a chave pública no arquivo, colocando cada chave em uma nova linha. Em seguida, salve e feche o arquivo.
-
Defina as permissões do arquivo.
Permissões incorretas podem causar falha no logon SSH.
sudo chown -R <username>:<username> /home/<username>/.ssh sudo chmod 700 /home/<username>/.ssh sudo chmod 600 /home/<username>/.ssh/authorized_keys
-
-
Para aplicar as alterações, reinicie o serviço SSH.
-
Para Alibaba Cloud Linux e CentOS:
sudo systemctl restart sshd.service -
Para Debian e Ubuntu:
sudo systemctl restart ssh.service
-
-
Verifique a correção.
No seu cliente SSH, tente conectar-se novamente usando o par de chaves para validar a solução.