AWS EC2 Verbinding gesloten door wanneer ssh naar instantie wordt geprobeerd

Onlangs heb ik een nieuwe EC2-instantie opgezet. De volgende dag kon ik geen verbinding maken met mijn instantie via ssh. Ik kon de dag ervoor verbinding maken en loskoppelen, ik weet zeker dat ik niets heb gedaan. Hier is ssh-foutopsporingsinformatie:

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

Is er een manier om dit probleem op te lossen? Of moet ik mijn instance opnieuw installeren?

PS-rechten op mijn .pem zijn ingesteld op 600.


Antwoord 1, autoriteit 100%

Mijn probleem was dat de gebruikersnaam onjuist was. Op ubuntu-instanties moet het “ubuntu” zijn en op Amazon-instanties moet het “ec2-gebruiker” zijn.


Antwoord 2, autoriteit 10%

Vaak moet u de standaard gebruikersnaam gebruiken voor de AMI die u heeft gebruikt om uw instantie te starten:

  • Voor Amazon Linux 2 of de Amazon Linux AMI is de gebruikersnaam
    ec2-gebruiker.

  • Voor een CentOS AMI is de gebruikersnaam centos.

  • Voor een Debian AMI is de gebruikersnaam admin of root.

  • Voor een Fedora AMI is de gebruikersnaam ec2-user of fedora.

  • Voor een RHEL AMI is de gebruikersnaam ec2-user of root.

  • Voor een SUSE AMI is de gebruikersnaam ec2-user of root.

  • Voor een Ubuntu AMI is de gebruikersnaam ubuntu.

    Anders, als ec2-user en root niet werken, neem dan contact op met de AMI-provider.

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


Antwoord 3, autoriteit 4%

Controleer uw gebruikersnaam. als je een ubuntu-instantie gebruikt, probeer dan “ubuntu” in gebruikersnaam te gebruiken in plaats van “ec2-gebruiker”, en vice versa


Antwoord 4, autoriteit 3%

Controleer uw beveiligingsgroep. Zorg ervoor dat u een uitgaande regel heeft waarmee verkeer van de instantie kan terugkeren.

Met de standaard uitgaande regel

type: All traffic, Protocol: All, Ports: All, Destination: 0.0.0.0/0

het zal werken.


Antwoord 5

(1) Controleer alstublieft wanneer u het ssh-commando uitvoert, bent u in dezelfde map waar u uw pem-sleutel hebt geplaatst. Anders moet u “ssh -i /your_key_path /mykey.pem” gebruiken.

(2) Als dat niet helpt. Ik denk dat je een andere sleutel kunt maken en je EC2-instantie kunt instellen via de AWS-webpagina. Probeer het dan opnieuw.


Antwoord 6

Ik had dit probleem en het bleek dat het PEM-bestand onjuist was. U kunt de instructies volgen in Amazon EC2-sleutelparen – De vingerafdruk van uw sleutelpaar verifiëren:

Als je je sleutelpaar hebt gemaakt met AWS, kun je de OpenSSL-tools gebruiken om een ​​vingerafdruk te genereren uit het privésleutelbestand:

$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

Als je je sleutelpaar hebt gemaakt met een tool van derden en de openbare sleutel naar AWS hebt geüpload, kun je de OpenSSL-tools gebruiken om een ​​vingerafdruk te genereren uit het privésleutelbestand op je lokale computer:

$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

De uitvoer moet overeenkomen met de vingerafdruk die in de console wordt weergegeven.


Antwoord 7

Ik had hetzelfde probleem. Het is het probleem van de machtigingen die u geeft aan het pem-privésleutelbestand. Zorg ervoor dat u het ssh-commando in de terminal uitvoert met de sudo (Administrative) Access.


Antwoord 8

Ik heb hetzelfde probleem, maar ik heb het opgelost door de EC2 te “herstarten”. Merk op dat het herstarten van EC2 het IP-adres niet verandert, maar het stoppen en opnieuw starten wel.

Het was een gemakkelijke oplossing, maar zorg ervoor dat je de kleine uitvaltijd kunt verdragen. In mijn geval werkte de website plotseling niet meer.


Antwoord 9

Ik had dit probleem met een ubuntu-vm, dus:

  1. de beveiligingsgroepen met 22/tcp-toegang waren in orde
  2. de gebruikersnaam is ubuntu, oké
  3. betreden met de pem-toets en
  4. /var/log/auth.log toonde het einde van de sessie in de preauth-fase (niet ok)
  5. Gemerkt dat er een pakket ontbreekt: ec2-instance-connect (ref: https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-connect-troubleshooting/) (niet ok)
  6. sudo apt install ec2-instance-connect

Daarna toegang gekregen via instance connect

Other episodes