AWS-déconnecté: aucune méthode d'authentification prise en charge disponible (serveur envoyé: publicickey)

SSH à mon serveur AWS vient de se casser pour Putty et Filezilla. Je fais un effort pour que ce post soit une liste complète de dépannage, donc si vous partagez des liens vers d'autres pages de débordement de pile, je vais les éditer dans la question.

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



L'erreur est bien lorsque j'ai configuré la connexion presque un an. Si vous mettez en place AWS SSH pour la première fois, ceux-ci traitent des problèmes les plus courants:

cependant, la seule chose que je pouvais penser qui aurait un impact sur un système précédemment en fonctionnement est:

  • mauvaise adresse IP: redémarrer une instance AWS (ou créer une image) n'est pas garanti de garder la même adresse IP. Ce serait évidemment être mis à jour dans le mastic.

Quelles sont les autres possibilités?

Solution à celui-ci (selon le poste accepté ci-dessous) est que pour AWS EC2 tous les 3 de ceux-ci doivent avoir les permissions appropriées (777 pas ok pour l'un de ceux-ci). Voici un exemple qui fonctionne:

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

/var / log/secure vous indiquera qui envoie une erreur, consultez ce tutoriel vidéo pour obtenir l'accès si vous êtes complètement bloqué: http://d2930476l2fsmh.cloudfront.net/LostKeypairRecoveryOfLinuxInstance.mp4

38
demandé sur AvadData 2014-07-05 18:32:40

14 réponses

pour moi cette erreur est apparue immédiatement après que j'ai changé le répertoire de l'utilisateur par

sudo usermod -d var/www/html username

cela peut également se produire en raison de l'absence de permission appropriée pour autoriser le fichier_key dans ~/.SSH. Assurez-vous que l'autorisation de ce fichier est 0600 et la permission de ~/.ssh est à 700.

7
répondu Iman Sedighi 2016-04-23 09:23:52

vous recevrez aussi" déconnecté : aucune méthode d'authentification supportée disponible (serveur envoyé :publickey) " lorsque vous avez un utilisateur Linux correct mais que vous n'avez pas créé le fichier .SSH / authorized_keys et a enregistré la clé publique comme indiqué dans Gérer les comptes des utilisateurs sur votre Instance Linux

12
répondu rodolk 2014-09-29 01:18:43

il y a une autre cause qui aurait un impact sur un système qui fonctionnait auparavant. J'ai recréé mes instances (en utilisant AWS OpsWorks) pour utiliser Amazon Linux à la place D'Ubuntu, et j'ai reçu cette erreur après l'avoir fait. Passer à utiliser " ec2-user "comme nom d'utilisateur au lieu de" ubuntu " résolu le problème pour moi.

10
répondu Owen 2016-01-08 15:58:32

PuTTY ne supporte pas nativement le format de clé privé (.pem) généré par Amazon EC2. PuTTY a un outil nommé PuTTYgen, qui peut convertir des clés au format PuTTY requis (.ppk). Vous devez convertir votre clé privée dans ce format.ppk) avant d'essayer de se connecter à votre instance en utilisant PuTTY.

les étapes à suivre pour ce faire sont décrites ici: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Cela a résolu le problème.

8
répondu René Winkler 2015-03-27 11:31:45

la réponse complète est ici: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

votre problème peut être lié à login incorrect qui varie selon les AMIs. Utilisez les logins suivants sur les AMIs suivants:

  • ubuntu ou root sur ubuntu AMIs
  • ec2-utilisateur Amazon Linux AMI
  • centos on Centos AMI
  • debian ou root sur Debian AMIs
  • ec2-utilisateur ou fedora Fedora
  • ec2-utilisateur ou root sur: RHEL AMI, SUSE AMI, les autres.

si vous êtes utilisant OS:

  • Windows - obtenir la clé PEM à partir du site Web AWS et de générer un fichier PPK en utilisant PuttyGen. Ensuite, utilisez Putty pour utiliser le PPK (sélectionnez-le en utilisant la colonne de gauche: connexion->SSH->Auth: clé privée pour l'autorisation)
  • Linux : ssh -i your-ssh-key.pem login@IP-or-DNS

bonne chance.

6
répondu Witold Kaczurba 2018-03-26 22:24:16

j'ai eu le même problème, par erreur d'accident. Je le partagerai ici, au cas où quelqu'un aurait fait la même erreur. Les étapes de base, comme autre décrit. 1, Télécharger putty et puttygen, ou le paquet putty et l'installer. 2, obtenir le .fichier pem de votre instance AWS EC2. 3, Utilisez puttygen pour convertir le .fichier pem de sorte que vous aurez une clé privée --- erreur qui s'est passé ici. J'ai choisi "Conversions" onglet de PuttyGen, et charger mon .fichier pem. Après avoir chargé le fichier pem, ici ne pas appuyer sur "Generate"", au lieu de cela directement "Enregistrer la clé privée". C'est la clé dont vous avez besoin. Si vous cliquez sur Générer, vous aurez une paire de clés totalement différente. 4, dans le mastic, utiliser ec2-user@your.public.dns.that.you.get.from.aws.ec2.instance, et charger la clé privée à SSH / Auth Bonne chance!

4
répondu Tony Xu 2017-09-18 18:17:06

dans la plupart des cas, n'a aucune erreur de méthode d'authentification en utilisant le mauvais nom d'utilisateur pour se connecter. Mais je ne trouve autre chose si vous avez encore du mal avec le problème de connexion et vous avez essayé toutes les options ci-dessus.

j'ai créé couple Linux VM et essayer de reproduire un tel problème de connexion, une chose que j'ai trouvé est, lorsque AWS vous a demandé le nom de votre paire de clés, ne pas utiliser l'espace vide ( " ") et le point (".") dans la paire de clés nom, même AWS effectivement vous permettre de le faire.

ex. quand j'ai appelé la paire de clés comme "AWS.GRATUIT.LINUX", la connexion est toujours refusée. Quand J'ai nommé "AWS_FREE_LINUX", tout fonctionne très bien.

espérons que cela aidera un peu.

2
répondu Michael Zhang 2016-11-17 04:04:48

basé sur plusieurs instances, si le fichier clé et le nom d'utilisateur sont corrects, cela semble se produire lors de la modification de certaines permissions de répertoire associées à l'utilisateur racine.

0
répondu Karan Modi 2015-11-17 09:51:24

un problème similaire s'est produit avec moi aujourd'hui. J'avais aussi beaucoup cherché à ce sujet.Personne n'aide. J'ai juste fait deux changements et ça marche aussi bien.

  1. j'avais visité Amazon documentation où décrire soit vérifier qu'il y a une règle qui permet le trafic de votre ordinateur au port 22 (SSH) et si non présent, le créer et éditer" groupe de sécurité "et ajouter" SSH " à mon IP. Cela aidera.
  2. In mon cas, dans le profil putty, je dois à nouveau Autoriser avec .fichier ppk. Je ne sais pas pourquoi il demande encore, sans aucun changement fait.

Espère que ça va vous aider.

0
répondu Asharam Seervi 2016-02-19 17:01:17

j'ai eu le même problème, j'ai utilisé DNS Public au lieu de IP Publique . Il est résolu maintenant.

0
répondu user3966432 2017-06-26 08:14:32

dans mon cas, le problème était que le fichier ppk était placé dans %USERPROFILE%\Downloads au lieu de %USERPROFILE%.dossier ssh.

après avoir déplacé le fichier, le problème a disparu.

0
répondu avp 2018-03-26 10:47:40

pour moi, J'ai juste dû dire à FileZilla où étaient les clés privées:

  1. Sélectionner Modifier > paramètres dans le menu principal
  2. dans la boîte de dialogue Paramètres, allez à connexion > SFTP
  3. cliquez sur" Ajouter un fichier clé..."bouton
  4. Naviguez et sélectionnez le(S) fichier (s) PEM désiré
0
répondu Rob Stoecklein 2018-09-26 22:43:49

en essayant de me connecter à un serveur SiteGround via Putty, j'ai eu le même problème. leurs instructions sont assez complètes, et doivent travailler pour certaines personnes, mais n'ont pas travaillé pour moi.

ils recommandent le concours de course.exe, qui court à l'arrière-plan. Vous enregistrez votre(s) clé (s) avec le concours, et il est censé faire savoir Putty sur les clés quand il essaie de se connecter.

Dans un couple de affiche j'ai trouvé des suggestions pour spécifier la clé directement dans la définition de la session Putty: configuration Putty > connexion > SSH > Auth > "fichier de clé privée pour authentification", puis parcourir votre fichier clé .format ppk.

cela sans running Pageant résolu le problème pour moi.

-1
répondu Andy Giesler 2017-05-23 11:55:00

pendant la session ssh ma connexion s'est rompue, depuis lors Je ne peux pas ssh mon SRV, j'ai démarré une nouvelle instance, et je suis capable de ssh la nouvelle instance (avec la même clé).

j'ai monté l'ancien volume à la nouvelle machine, et vérifier le .SSH / authorized_key et ne pouvait pas trouver de problème avec la permission ou le contenu.

-1
répondu Elia Weiss 2017-01-06 19:30:06