Warum kann ich nicht in meine neue EC2-Instanz ssh?


22

Ich habe eine neue Instanz erstellt (winzig, 64-Bit-AMI-Linux von Amazon). Ein neues Schlüsselpaar namens "mir" wurde erstellt. Ich habe es heruntergeladen mir.pemund in meinen ~/.sshOrdner gelegt. Ich habe es sogar getan ssh-add mir.pem.

Dann habe ich es versucht ssh ubuntu@public_DNS_from_amazon

Warum funktioniert es nicht?



2
Kannst du auch eine machen telnet public_DNS_from_amazon 22? Dies würde die Firewall ausschließen.
Andrew M.

1
I'ld vermeiden telnet und Verwendung nmap zur Überprüfung offene Ports: nmap -PN public_DNS_from_amazon -p 22. ( -PNfalls die Firewall Ping-Anfragen blockiert)
Lekensteyn

2
@Lekensteyn, in diesem Fall gibt es absolut keinen Grund, einen Telnet-Client zu meiden. Er ist perfekt für die Überprüfung von ssh-Ports geeignet, da Sie in den meisten Fällen Klartextinformationen zurückerhalten. Nmap wird (übrigens) seltener installiert als Telnet.
Shadok

Mögliches Duplikat von serverfault.com/questions/245916/… Die Antwort, die für mich funktioniert hat, war, dass die Standardinstallations-Firewall gemäß dieser Antwort vollständig gesperrt ist. serverfault.com/a/245917/108387
Richard Le Mesurier

Antworten:


17

Versuchen Sie es ssh ubuntu@your.host.name -i your-private.key, anstatt ssh-addden Schlüssel zu drücken.

Oh, und stellen Sie sicher, dass Sie TCP-Port 22 durch die Sicherheitsgruppe zugelassen haben.


Der Hinweis, den Port 22 der Sicherheitsgruppe hinzuzufügen, hat den Trick ausgeführt. Ich benutzte bereitsssh -i private_key
kisanme

7

Ermöglicht die Sicherheitsgruppe (Firewall-Konfiguration) den SSH-Zugriff?

Genauer gesagt: Wählen Sie auf der Seite der AWS-Verwaltungskonsole im linken Bereich (nach unten) die Option Sicherheitsgruppen aus. Wählen Sie im rechten unteren Bereich die Registerkarte "Eingehend" und vergewissern Sie sich, dass "Benutzerdefinierte TCP-Regel" ausgewählt ist. Geben Sie als Portnummer 22 ein, klicken Sie auf die Schaltfläche "Regel hinzufügen" und dann auf die Schaltfläche "Regeländerungen anwenden". Sie müssen Ihre Instanz weder neu starten noch neu starten. Sie müssen lediglich den eingehenden TCP-Port 22 aktivieren


Diese Antwort hat mir geholfen. Da meine Instanz Ubuntu ausführt, ersetze 'root' durch ubuntu. Hier ist die Leitung, mit der ich mich vom Terminal aus verbinde: ssh -i ec2vpnkey.pem ubuntu@exxxxxxxxxx.compute-1.amazonaws.com

Dies sollte die akzeptierte Antwort sein. Die wichtigste Information hierbei ist, dass das Feld "Quelle" nicht ausreicht, um die Sicherheitsgruppe selbst zu haben. Quelle muss 0.0.0.0/0 sein
Roothahn

3

Versuchen Sie, entweder root oder ec2-user als Benutzernamen zu verwenden.


0

Sie müssen den SSH-Zugriff auf Ihre Instanzen mit einem ec2-authorize default -p 22Befehl öffnen . Hast du das gemacht?


0

Dies ist mir auf einigen meiner EC2-Boxen passiert. Im Allgemeinen scheint es so zu sein, dass SSH beim Versuch, die Verbindung wiederherzustellen, möglicherweise nicht reagiert, wenn ein Prozess den gesamten Prozessor beansprucht oder sich schlecht verhält und die Verbindung getrennt wird. Ein Neustart der Box über die AWS-Konsole hilft häufig.


0

Es ist auch möglich, eine Instanz zu starten, ohne sie einem Schlüsselpaar zuzuordnen. Sie können überprüfen, ob Sie dies beim Starten Ihrer Instanz mit dem von Ihnen beabsichtigten Schlüsselpaar getan haben. Wenn die Instanz mit dem falschen Schlüsselpaar gestartet wurde, müssen Sie die Instanz neu starten.


0

Versuchen

ssh -i ~/.ssh/mir.pem ec2-user@xxx.xxx.xxx.xxx

wo die x's sind deine öffentliche ip


0

Um sich in Ihre AMI-Box einzuloggen, verwenden Sie die ec2-user. Dies bedeutet, dass Sie zum Anmelden Folgendes verwenden würden: ssh -i mir.pem ec2-user@public_dnszum Anmelden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.