AWS-desligado: não estão disponíveis Métodos de autenticação suportados (servidor enviado: publickey)

O servidor do AWS avariou-se tanto para o Putty como para o Filezilla. Estou fazendo algum esforço para que este post seja uma lista abrangente de solução de problemas, então se você compartilhar links para outras páginas de estouro de pilha, eu vou editá-los na pergunta.

Disconnected : No supported authentication methods available (server sent :publickey)


O erro é familiar de quando eu configurei a conexão quase um ano atrás. Se você está configurando AWS SSH pela primeira vez, estes abordam os problemas mais comuns:

No entanto, a única coisa que podia pensar que teria impacto num sistema de trabalho anterior era:
  • IP errado: reiniciar uma instância AWS (ou criar uma imagem) não é garantido para manter o mesmo endereço IP. Isto teria obviamente de ser actualizado em putty.
Que outras possibilidades existem?

solução para este (de acordo com o post Aceito abaixo) é que para AWS EC2 todos os 3 precisam ter permissões adequadas (777 Não ok para qualquer um destes). Aqui está um exemplo que funciona:

/home/ec2-user/ - 700
/home/ec2-user/.ssh/ - 600
/home/ec2-user/.ssh/authorized_keys - 600

/ var/log / secure irá dizer-lhe qual deles está a lançar um erro, consulte este tutorial de vídeo para obter acesso se estiver completamente bloqueado as: http://d2930476l2fsmh.cloudfront.net/LostKeypairRecoveryOfLinuxInstance.mp4

Author: AvadData, 2014-07-05

14 answers

Para mim, este erro apareceu imediatamente depois de ter alterado o directório do utilizador por

sudo usermod -d var/www/html username

Isso também pode acontecer por falta de permissão adequada para autorizar o arquivo key em ~/.ssh. Certifique-se de que a permissão deste arquivo é 0600 e permissão de ~/.ssh é 700.

 7
Author: Iman Sedighi, 2016-04-23 09:23:52

Você também irá receber" desligado : não existem métodos de autenticação suportados disponíveis (servidor enviado :publickey) " quando tiver um utilizador Linux correcto mas não tiver criado o ficheiro .ssh/autorized_ Keys e gravou a chave pública como indicado em gerir as contas de utilizador na sua instância Linux

 12
Author: rodolk, 2014-09-29 01:18:43
Há outra causa que teria impacto num sistema de trabalho anterior. Eu re-criei minhas instâncias (usando OpsWorks AWS) para usar o Amazon Linux em vez do Ubuntu, e recebi este erro depois de fazer isso. Mudar para usar "ec2-user" como o nome de usuário em vez de "ubuntu" resolveu o problema para mim.
 10
Author: Owen, 2016-01-08 15:58:32

PuTTY não suporta nativamente o formato da chave privada (.pem) gerado pela Amazon EC2. PuTTY tem uma ferramenta chamada PuTTYgen, que pode converter chaves para o formato PuTTY necessário (.ppk). Você deve converter sua chave privada para este formato (.ppk) antes de tentar ligar-se à sua instância usando PuTTY.

Os passos para executar isto são descritos aqui: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Isto resolveu o problema.
 8
Author: René Winkler, 2015-03-27 11:31:45

A resposta completa está aqui: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

O seu problema pode estar relacionado com a autenticação incorrecta , que varia de acordo com o AMIs. Utilizar as seguintes loginas no seguinte AMIs:

  • ubuntu ou raiz em ubuntu AMIs
  • ec2-user on Amazon Linux AMI
  • cêntimos em Cêntimos AMI
  • debian ou root no Debian AMIs
  • utilizador-ec2 ou fedora em Fedora
  • ec2-user or root on: RHEL AMI, SUSE AMI, other ones.

Se estiver a utilizar OS:

  • Windows - obter a tecla PEM do sítio Web da AWS e gerar o ficheiro PPK usando o PuttyGen. Então use o Putty para usar o PPK (seleccione-o com a coluna da esquerda: ligação->SSH->Auth: chave privada para a autorização)
  • Linux - run: ssh -i your-ssh-key.pem login@IP-or-DNS
Boa sorte.
 6
Author: Witold Kaczurba, 2018-03-26 22:24:16
Tive o mesmo problema, por engano. Vou partilhá-lo aqui, no caso de alguém ter cometido o mesmo erro. Passos básicos, como outros descritos. 1, Baixar putty e puttygen, ou o pacote putty e instalá-lo. 2, vai buscar o .ficheiro pem da sua instância AWS EC2. 3, use puttygen para converter o .arquivo pem para que tenha um erro de chave privada aconteceu aqui. Escolhi a conta" conversões " de PuttyGen, e carrego a minha .ficheiro pem. Depois de carregar o ficheiro pem, não carregue em "Gerar", em vez disso, "salve a chave privada". É a chave que precisas. Se você clicar em Gerar, você terá um par totalmente diferente de chaves. 4, em putty, use [email protected], e carregar a chave privada em SSH / Auth Boa sorte!
 4
Author: Tony Xu, 2017-09-18 18:17:06

Na maioria dos casos, não foi detectado nenhum erro no método de autenticação ao usar o nome de utilizador errado para o registo. Mas eu encontro outra coisa se você ainda luta com o problema da conexão e você tentou todas as opções acima.

Eu criei um par de VM Linux e tento reproduzir esse problema de conexão, uma coisa que eu encontrei é, quando a AWS lhe perguntou o nome do seu par de chaves, não use espaço em branco (" ") e ponto ("".") em nome de par de chaves, até a AWS realmente permite que você faça isso.

Ex. quando dei o nome par de chaves como " AWS.LIVRE.LINUX", a ligação é sempre recusada. Quando chamei "AWS_FREE_LINUX", tudo funciona bem.

Espero que isto ajude um pouco.
 2
Author: Michael Zhang, 2016-11-17 04:04:48

Com base em várias instâncias, se o ficheiro chave e o utilizador estiverem correctos, isto parece ocorrer ao alterar certas permissões de directório associadas ao utilizador raiz.

 0
Author: Karan Modi, 2015-11-17 09:51:24
Um problema semelhante aconteceu comigo hoje. Eu também tinha procurado muito sobre this.No uma ajuda. Acabei de fazer duas mudanças e o seu funcionamento também.
  1. eu tinha visitado a documentação da Amazon onde Descreva se existe uma regra que permite o tráfego do seu computador para o porto 22 (SSH) e se não estiver presente, crie-a e edite "grupo de segurança" e adicione "SSH" ao meu IP. Isto vai ajudar.
  2. No meu caso, no "putty profile" , tenho de autorizar outra vez .ficheiro ppk. Não sei porque volta a perguntar, sem que tenham sido feitas alterações.
Espero que te ajude.
 0
Author: Asharam Seervi, 2016-02-19 17:01:17

Tive o mesmo problema, usei DNS públicosem vez de IP público. Está resolvido agora.

 0
Author: user3966432, 2017-06-26 08:14:32

No meu caso, o problema era que o ficheiro ppk foi colocado em %USERPROFILE%\Downloads em vez de %USERPROFILE%.pasta ssh.

Depois de mudar o ficheiro, o problema desapareceu.
 0
Author: avp, 2018-03-26 10:47:40
Para mim, só tinha de dizer ao FileZilla onde estavam as chaves privadas.
  1. seleccione Editar > Configuração no menu principal
  2. na janela de configuração, vá para a ligação > SFTP
  3. carregue no " Adicionar um ficheiro chave..."button
  4. navegar para e, em seguida, seleccionar o(s) ficheiro (s) PEM desejado (s)
 0
Author: Rob Stoecklein, 2018-09-26 22:43:49
Enquanto tentava ligar-me a um servidor SiteGround via Putty, tinha o mesmo problema. As instruções deles são muito minuciosas, e devem trabalhar para algumas pessoas, mas não para mim. Eles recomendam a candidatura.exe, que corre em segundo plano. Você registra suas chaves com o concurso, e é suposto que o Putty saiba sobre as chaves quando ele tenta se conectar.

Em um casal de locais encontrei sugestões para especificar a chave directamente em a definição da sessão do 'Putty': configuração do 'Putty' > ligação > SSH > Auth > "ficheiro da chave privada para Autenticação", navegando então para o seu ficheiro da chave .formato ppk.

Fazer isto sem concorrer ao concurso resolveu-me o problema.
 -1
Author: Andy Giesler, 2017-05-23 11:55:00

Durante a sessão ssh a minha ligação quebrou, desde então eu não posso ssh meu SRV, eu tinha começado uma nova instância, e eu sou capaz de ssh a nova instância (com a mesma chave).

Montei o volume antigo na nova máquina e verifiquei .ssh / authorized_key e não foi possível encontrar nenhum problema com permissão ou conteúdo.
 -1
Author: Elia Weiss, 2017-01-06 19:30:06