Je souhaite utiliser mon instance Amazon ec2 mais j'ai rencontré l'erreur suivante:
Permission denied (publickey).
J'ai créé ma paire de clés et téléchargé le fichier .pem .
Donné:
chmod 600 pem file.
Ensuite, cette commande
ssh -i /home/kashif/serverkey.pem [email protected]
Mais ayez cette erreur:
Permission denied (publickey)
De plus, comment puis-je me connecter avec filezilla pour télécharger / télécharger des fichiers?
amazon-web-services
ssh
amazon-ec2
Kashiftufail
la source
la source
admin
. Au moins pour les versions 6.5 et 7.0.ec2-user
, assurez-vous que vous n'utilisez pasec2_user
:)$HOME/.ssh/authorized_keys
fichier.Réponses:
Ce message d'erreur signifie que vous n'avez pas réussi à vous authentifier.
Ce sont des raisons courantes qui peuvent provoquer cela:
ubuntu
est le nom d' utilisateur pour la distribution de AWS basée ubuntu, mais sur certains autres , c'estec2-user
(ouadmin
sur certains de Debian, selon la réponse de Bogdan Kulbida) (peut égalementroot
,fedora
voir ci - dessous)Notez que
1.
cela se produira également si vous avez foiré le/home/<username>/.ssh/authorized_keys
fichier sur votre instance EC2.À propos
2.
, les informations sur le nom d'utilisateur à utiliser font souvent défaut dans la description de l'image AMI. Mais vous pouvez en trouver dans la documentation AWS EC2, puce4.
: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.htmlEnfin , sachez qu'il existe de nombreuses autres raisons pour lesquelles l'authentification échouerait. SSH est généralement assez explicite sur ce qui s'est mal passé si vous souhaitez ajouter l'
-v
option à votre commande SSH et lire le résultat, comme expliqué dans de nombreuses autres réponses à cette question.la source
Dans ce cas, le problème provient de la perte de la paire de clés. À propos de ça:
Vous pouvez suivre ces étapes:
En général, n'oubliez pas que vous devez autoriser votre instance EC2 à accepter le trafic SSH entrant.
Pour ce faire, vous devez créer une règle spécifique pour le groupe de sécurité de votre instance EC2. Vous pouvez suivre ces étapes.
J'espère que cela peut aider quelqu'un comme m'a aidé.
la source
Voilà comment j'ai résolu le problème
la source
J'ai résolu le problème juste
sudo
avantMais la bonne solution consiste à changer d'abord la propriété, puis à se connecter en tant qu'utilisateur normal, comme Janus Troelsen l'a dit ci-dessous. Dans mon cas, ce serait:
la source
sudo chown wellington:wellington key.pem
.Essayez d'utiliser
OU
la source
Une autre cause possible de cette erreur:
Lorsque le répertoire personnel de l'utilisateur est accessible en écriture de groupe , l'utilisateur ne peut pas se connecter.
(Reproduit sur l'instance Ubuntu.)
la source
pour la micro-instance ubuntu 12.04 lts, je devais définir le nom d'utilisateur comme option
la source
Vous devez effectuer les étapes suivantes:
cd <path to your .pem file>
chmod 400 <filename>.pem
ssh -i <filename>.pem ubuntu@<ipaddress.com>
Si l'
ubuntu
utilisateur ne fonctionne pas, essayez avecec2-user
.la source
J'ai eu du mal avec la même autorisation refusée, apparemment à cause de
Dans ma situation, la cause était le fichier de configuration ssh de l'utilisateur actuel (~ / .ssh / config).
En utilisant ce qui suit:
Le résultat initial a montré:
... de nombreuses lignes de débogage coupées ici ...
La troisième ligne ci-dessus est l'endroit où le problème réel a été identifié; cependant, j'ai cherché le message de débogage à quatre lignes du bas (ci-dessus) et j'ai été induit en erreur. Il n'y a pas de problème avec la clé mais je l'ai testée et comparé d'autres configurations.
Mon fichier de configuration ssh utilisateur réinitialise l'hôte via un paramètre global involontaire comme indiqué ci-dessous. La première ligne Host n'aurait pas dû être un commentaire.
J'espère que quelqu'un d'autre trouve cela utile.
la source
J'ai oublié d'ajouter le nom d'utilisateur (ubuntu) lors de la connexion de mon instance Ubuntu. J'ai donc essayé ceci:
et la bonne façon était
la source
Cela m'est arrivé plusieurs fois. J'ai utilisé Amazon Linux AMI 2013.09.2 et Ubuntu Server 12.04.3 LTS qui sont tous deux sur le niveau gratuit.
Chaque fois que j'ai lancé une instance, une autorisation m'a été refusée. Je n'ai pas vérifié cela, mais ma théorie est que le serveur n'est pas complètement configuré avant d'essayer de s'y connecter. Après quelques essais avec autorisation refusée, j'attends quelques minutes puis je peux me connecter. Si vous rencontrez ce problème, je vous suggère d'attendre cinq minutes et de réessayer.
la source
Voici un scénario frustrant possible qui produit cette erreur:
Si vous installez une nouvelle instance à partir d'une AMI que vous avez créée d'une autre instance (par exemple, l'instance xyz), la nouvelle instance n'acceptera que la même clé que l'instance A utilisée. C'est tout à fait compréhensible mais cela devient confus car pendant le processus étape par étape de création de la nouvelle instance, vous êtes invité à sélectionner ou à créer une clé (à la toute dernière étape) qui ne fonctionnera pas.
Quelle que soit la clé que vous créez ou sélectionnez, seule la clé que vous utilisiez par exemple XYZ sera acceptée par la nouvelle instance.
la source
Je me suis aussi débattu avec cela pendant un certain temps jusqu'à ce que je trouve ce qui suit:
Lorsque vous utilisez cela à partir du répertoire du projet, bingo-bango no muss no fuss, vous êtes dans
la source
Dans mon propre cas, j'ai fait ce qui suit:
J'utilisais initialement une
root@
partie et j'ai reçu cette invite:la source
Je suis sous Windows avec WinSCP . Cela fonctionne très bien à la fois sur l'Explorateur de fichiers et sur PuTTY SSH Shell pour accéder à mon Amazon EC2-VPC Linux. Il n'y a rien à voir
chmod pem file
car il utilisemyfile.ppk
converti par PuTTYgen à partir du fichier pem .la source
la même chose m'est arrivée, mais tout ce qui s'est passé, c'est que la clé privée s'est perdue du trousseau sur ma machine locale.
re-ajouté la clé, puis la commande ssh pour se connecter est retournée au travail.
la source
Ce problème peut être résolu en vous connectant à la boîte Ubuntu à l'aide de la commande ci-dessous:
la source
J'ai eu deux fois les clés et la ligne de commande ssh correctes (je le sais parce que je duplique une instance Ubuntu 14.04 fonctionnelle), mais je n'ai tout simplement pas été capable de ssh dans une nouvelle instance, même après avoir attendu 5 minutes comme suggéré par Wade Anderson ci-dessus.
J'ai dû détruire et recréer la machine. Cela s'est produit à deux reprises. Comme je ne peux pas entrer au départ, je ne vois pas ce qui ne va pas.
Donc, si vous avez ce problème, essayez-le.
la source
vous devez vérifier ces quelques choses:
J'ai eu le même problème et il a été résolu après avoir changé le nom d'utilisateur en ubuntu. Dans la documentation AWS a été mentionnée à l'utilisateur ec2-user mais ne fonctionne pas pour moi.
la source
Ma clé privée a été définie sur permission
400
et il en résulte que l'autorisation refusée de la définir sur «644» m'a aidé.key_load_private_type: autorisation refusée est l'erreur spécifique que j'obtenais
Solution:
Sudo chmod 644 <key.pem>
Remarque: défini sur 644 est indispensable, il ne fonctionnait pas avec 400
la source
Quand tu essaies de faire
ssh -i <.pem path> root@ec2-public-dns
Vous obtenez un message vous conseillant d'utiliser le
ec2-user
.Please login as the user "ec2-user" rather than the user "root".
Alors utilisez
ssh -i <.pem path> ec2-user@ec2-public-dns
la source
J'ai eu le même problème et c'est très étrange. Si vous pensez que vous faites tout ce qui est bien, suivez ceci: Parfois, il y a une confusion au sujet de l'utilisateur pour l'instance EC2 !! Parfois, vous obtenez ec2-user, ubuntu, centos, etc. Vérifiez donc votre nom d'utilisateur pour le machie !!
Connectez-vous avec l'utilisateur root
ssh -i yourkey.pem (400 permission) root@<ip>
Cela générera une erreur et vous donnera le nom d'utilisateur disponible . puis connectez-vous avec cet utilisateur.la source
C'est une chose basique, mais confirmez toujours quel utilisateur vous essayez de faire la connexion. Im mon cas était juste une distraction . J'essayais d'utiliser un utilisateur root :
Mais était un autre utilisateur :
la source
j'ai eu la même erreur mais une situation différente. pour moi, c'est arrivé à l'improviste après beaucoup de temps, j'ai pu réussir avec succès sur mon ordinateur distant. après beaucoup de recherches, la solution à mon problème était les autorisations de fichiers. c'est étrange bien sûr parce que je n'ai changé aucune permission sur mon ordinateur ou sur la télécommande appartenant aux fichiers / répertoires du ssh. donc du bon wiki archlinux le voici:
Pour la machine locale, procédez comme suit:
Pour la machine distante, procédez comme suit:
après cela, mon ssh a recommencé à travailler sans l'autorisation refusée (publickey).
la source
Un autre problème possible: ID de connexion incorrect
Cochez «Instructions d'utilisation»
Toutes les bonnes suggestions ci-dessus, mais ce que j'ai rencontré, c'est que j'ai sélectionné une instance prédéfinie. Une fois l'instance démarrée, consultez les instructions d'utilisation. J'ai utilisé de manière incorrecte l'identifiant de connexion de la clé privée lorsque, dans les instructions, j'étais censé utiliser «bitnami» (par exemple, bitnami @ domain -i key.pem)
la source
J'ai eu une erreur similaire
Mon problème était que l'instance n'a pas démarré correctement en raison d'une erreur sur le script d'exécution au démarrage à partir de
Step 3: Configure instance detail
sousAdvanced details:
Ce que je pensais avoir entré:
#include https://xxxx/bootstrap.sh
Ce qui est réellement entré rompt la configuration de l'instance
#include
https://xxxx/bootstrap.sh
La clé publique côté instance n'a donc pas été créée
la source
Il est sensible à la casse.
Incorrect: SSH EC2-user @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
Correct: SSH ec2-user @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
la source
J'ai pu SSH depuis une machine, mais pas depuis une autre. Il s'avère que j'utilisais la mauvaise clé privée.
La façon dont j'ai compris cela était en obtenant la clé publique de ma clé privée, comme ceci:
ssh-keygen -y -f ./myprivatekey.pem
Ce qui est sorti ne correspondait pas à ce qui était
~/.ssh/authorized_keys
sur l'instance EC2.la source
Toutes les réponses les mieux classées ci-dessus sont exactes et devraient fonctionner dans la plupart des cas. Dans le cas où ils ne le seraient pas comme dans mon cas, je me suis simplement débarrassé de mon
~/.ssh/known_hosts
fichier sur la machine que j'essayais de supprimer et cela a résolu le problème pour moi. J'ai pu me connecter par la suite.la source
known_hosts
puisse résoudre un problème lors de la connexion à un serveur qui a changé sa clé d'hôte (même si c'est une mauvaise approche de toute façon), je suis presque sûr qu'elle ne peut pas résoudre l' erreur "Autorisation refusée (publickey)" .