récemment, j'ai mis en place une nouvelle instance EC2. Le lendemain, je n'ai pas pu me connecter à mon instance via ssh. J'ai pu me connecter et me déconnecter la veille, je jure que je n'ai rien fait. voici les informations de débogage ssh:
ssh -i webserver.pem -v [email protected]
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to my.elastic.ip [my.elastic.ip] port 22.
debug1: Connection established.
debug1: identity file webserver.pem type -1
debug1: identity file webserver.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
Connection closed by my.elastic.ip
Existe-t-il un moyen de résoudre ce problème? Ou dois-je réinstaller mon instance? S'il vous plaît, aidez-moi car j'ai besoin de résoudre ce problème dès que possible. Votre aide est très appréciée!
Les droits PS sur mon .pem sont définis sur 600.
Vérifiez votre groupe de sécurité. Assurez-vous que vous disposez d'une règle sortante qui permet au trafic de revenir de l'instance.
Avec la règle sortante par défaut
type: All traffic, Protocol: All, Ports: All, Destination: 0.0.0.0/0
ça va marcher.
Mon problème était que le nom d'utilisateur était incorrect. Sur les instances ubuntu, il doit être "ubuntu" et sur les instances Amazon, il doit être "ec2-user".
Souvent, vous devez utiliser le nom d'utilisateur par défaut pour l'AMI que vous avez utilisé pour lancer votre instance:
Pour une AMI Ubuntu, le nom d'utilisateur est ubuntu.
Sinon, si l'utilisateur ec2 et root ne fonctionnent pas, consultez le fournisseur AMI.
(1) Veuillez vérifier lorsque vous exécutez la commande ssh, êtes-vous dans le même dossier où vous avez mis votre clé pem. Sinon, vous devez utiliser "ssh -i/your_key_path /mykey.pem".
(2) Si cela n'aide pas. Je pense que vous pouvez créer une autre clé et définir votre instance EC2 via la page Web AWS. Réessayez ensuite.
J'ai eu ce problème et il s'est avéré que le fichier PEM était incorrect. Vous pouvez vérifier en suivant les instructions de Paires de clés Amazon EC2 - Vérification de l'empreinte digitale de votre paire de clés :
Si vous avez créé votre paire de clés à l'aide d'AWS, vous pouvez utiliser les outils OpenSSL pour générer une empreinte digitale à partir du fichier de clé privée:
$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
Si vous avez créé votre paire de clés à l'aide d'un outil tiers et téléchargé la clé publique sur AWS, vous pouvez utiliser les outils OpenSSL pour générer une empreinte digitale à partir du fichier de clé privée sur votre machine locale:
$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c
La sortie doit correspondre à l'empreinte digitale affichée dans la console.
J'ai eu le même problème, c'est le problème des autorisations que vous donnez au fichier de clé privée pem. Assurez-vous d'exécuter la commande ssh dans le terminal avec l'accès Sudo (administratif).