web-dev-qa-db-fra.com

Connexion AWS EC2 fermée lors de la tentative de ssh dans l'instance

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.

44
Victor Davydov

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.

10
Sven Dukat

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".

275
Tyler

Souvent, vous devez utiliser le nom d'utilisateur par défaut pour l'AMI que vous avez utilisé pour lancer votre instance:

  • Pour Amazon Linux 2 ou Amazon Linux AMI, le nom d'utilisateur est
    utilisateur ec2.
  • Pour une AMI CentOS, le nom d'utilisateur est centos.
  • Pour une AMI Debian, le nom d'utilisateur est admin ou root.
  • Pour une AMI Fedora, le nom d'utilisateur est ec2-user ou Fedora.
  • Pour une RHEL AMI, le nom d'utilisateur est ec2-user ou root.
  • Pour une AMI SUSE, le nom d'utilisateur est ec2-user ou root.
  • Pour une AMI Ubuntu, le nom d'utilisateur est ubuntu.

    Sinon, si l'utilisateur ec2 et root ne fonctionnent pas, consultez le fournisseur AMI.

https://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/connection-prereqs.html#connection-prereqs-get-info-about-instance

18
KingNonso

(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.

2
Freya Ren

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.

0
parsley72

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).

0