wake-up-neo.com

Wie richte ich den SSH-Zugriff für eine Amazon EC2-Instanz ein?

Ich benötige SSH-Zugriff auf eine Amazon EC2-Instanz unter Ubuntu 10.4. Ich habe nur den Amazon-Benutzernamen und das Passwort. Irgendwelche Ideen?

84
BetaRide

Grundsätzlich benötigen Sie eine private Schlüsseldatei, um sich über SSH bei Ihrem EC2 anzumelden. Befolgen Sie diese Schritte, um eine zu erstellen:

  • Gehe zu https://console.aws.Amazon.com/ec2/home & melde dich bei deinem bestehenden Amazon-Konto an.
  • Klicken Sie auf "Schlüsselpaare" in LHS oder https://console.aws.Amazon.com/ec2/home?region=us-east-1#s=KeyPairs .
    • Sie sollten die Liste der von Ihnen generierten KEYs sehen (oder während des Erstellungsprozesses von EC2).
    • Klicken Sie auf "Create Key Pair" (Schlüsselpaar erstellen), wenn Sie keinen sehen oder Ihren privaten Schlüssel verloren haben.
    • Geben Sie einen eindeutigen Namen ein und drücken Sie die Eingabetaste.
    • Ein Download-Fenster wird angezeigt, in dem Sie den privaten Schlüssel speichern und speichern können.
    • Behalte es irgendwo mit der Dateierlaubnis "0600"
  • Klicken Sie auf "Instances" in LHS oder https://console.aws.Amazon.com/ec2/home?region=us-east-1#s=Instances
    • Sie sollten die Liste der ec2-Instanzen sehen, wenn Sie keine sehen, dann erstellen Sie bitte eine.
    • Klicken Sie auf den EC2-Computer und notieren Sie die öffentliche DNS-Adresse.
  • Öffnen Sie Ihr Terminal (unter Linux) und geben Sie den folgenden Befehl ein
    • ssh -i /path/to/private-key [email protected]<ec2-public-dns-address> - Der Root-Benutzername wurde in den neuesten Versionen vermieden, basierend auf Ihrer Distribution. Wählen Sie ec2-user oder ubuntu als Benutzername.
    • drücke Enter
    • Das ist es.
156
Rakesh Sankar
ssh -i /path/to/private-key [email protected]<ec2-public-dns-address>

verwenden Sie einfach ubuntu anstelle von root. Ihr Problem wird gelöst. Prost!

24
Shaharia Azam

SCHRITT 1) Laden Sie private Schlüssel herunter, die Ihrem ec2-Computer zugewiesen wurden (dies ist nur ein einmaliger Download bei der Erstellung. Es wird daher empfohlen, einen Commit durchzuführen)

SCHRITT 2) und folgende Befehle abfeuern,

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem [email protected]

Official Doc : Herstellen einer Verbindung zu Ihren Linux/Unix-Instanzen mithilfe von SSH

11
prayagupd

Beachten Sie, dass der aktuelle Benutzer für 13.04 "ubuntu" ssh -i ./mykey.pem [email protected] ist

7
Mainguy

Sie müssen zuerst ein Schlüsselpaar erstellen. Verwenden Sie dazu Ihre EC2-Konsole. Verwenden Sie dann Ihren privaten Schlüssel, um SSH auf den Server zu übertragen (der Benutzername lautet ec2-user) mit einem SSH-Client Ihrer Wahl.

Einmal in, können Sie ein Sudo su -, um root zu werden, wenn Sie möchten (Hinweis: Sie können sich nicht direkt als root anmelden).

4
Jay Sidri

Wenn Sie MacOS verwenden, sollten Sie eine SSH-Konfigurationsdatei (~/.ssh/config) erstellen/bearbeiten und Folgendes einfügen:

Host *.amazonaws.com
    User ubuntu
    Port 22
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem

So stellen Sie eine Verbindung zu einer der EC2-Instanzen her:

ssh MYNAME.amazonaws.com

Nichts mehr!

3
Thomas Decaux

Führen Sie die folgenden Schritte aus, um Ubuntu unter AWS einzurichten:

  1. Melden Sie sich bei Amazon Web Services an und wählen Sie EC2.
  2. Wählen Sie Launch Instance und folgen Sie dem Assistenten, indem Sie das richtige Image (Ubuntu), den Instanztyp, das VPC-Netzwerk und das Subnetz, den Speicher und den SSH-Zugriff in Security Groups auswählen . Dann Starten.
  3. Zum ersten Mal müssen Sie wahrscheinlich das Schlüsselpaar einrichten und der Instanz zuweisen. Sie können Schlüsselpaare auch in Schlüsselpaare erstellen. Laden Sie die einmal erstellte PEM-Datei herunter und bewahren Sie sie an einem sicheren Ort auf.
  4. Warten Sie nach dem Start der Instanz, bis die Instanz Initialisiert und Läuft ist.

Führen Sie Folgendes aus, um über SSH auf die Instanz zuzugreifen:

  1. Stellen Sie eine Verbindung zur Linux-Box her, indem Sie Ihre PEM-Datei angeben, z.

    ssh -i "file.pem" [email protected]
    

    Stellen Sie sicher, dass Ihre PEM-Datei die Berechtigung 600 (chmod 600 file.pem).

Fehlerbehebung

Wenn Sie eine VPC-Instanz ausführen und Ihre Sicherheitsgruppe korrekt ist (mit den richtigen Regeln) und sie immer noch nicht funktioniert, lesen Sie den Abschnitt [~ # ~] vpc [~ # ~] Überprüfen Sie Ihr Subnetz , das an Ihr [~ # ~] vpc [~ # ~] (beide von Ihrer Instanz verwendet und neue Regel in der Routentabelle eingerichtet das hat 0.0.0.0/0 als Ziel und Ihr Internet Gateway als Ziel.

Weitere Informationen finden Sie unter: Fehlerbehebung beim Herstellen einer Verbindung zu Ihrer Instanz

Siehe auch: Mögliche Gründe für eine Zeitüberschreitung beim Versuch, auf die EC2-Instanz zuzugreifen

1
kenorb

1) Zuerst chmod das .pem file zum Einschränken der Dateiberechtigungen wie folgt

chmod 400 my-key-pair.pem

2) Dann ssh mit den folgenden Befehlen direkt aus .ssh Mappe

ssh -i my-key-pair.pem [email protected]

Hinweis: - Zum Navigieren in .ssh Mappe. Drücken Sie zuerst Ctrl + H um alle versteckten Dateien anzuzeigen und schließlichcd .ssh

1
WaterRocket8236

Ich habe das AWS-Angebot angenommen, die Standardsicherheitsgruppen zu verwenden, die "All Trafic" -Ports enthalten.

Und nachdem ich viele Male versucht hatte, auf meiner neuen ec2-Instanz eine Verbindung herzustellen, wurde mir gerade klar, dass ich meine verwendete Sicherheitsgruppe bearbeiten und den 22-Port (ssh) manuell ein- und ausgehend hinzufügen sollte!

Ich hoffe es hilft !

0
Diego Favero

Das zu tun, was in all diesen Antworten vorgeschlagen wird, reicht nicht aus. Für jede Instanz wird eine Sicherheitsgruppe angezeigt. Wenn Sie eine neue Instanz starten, wird diese auf den Standardwert gesetzt. Sie müssen die Sicherheitsgruppe bearbeiten und den SSH-Port hinzufügen. Später müssen Sie die Ports 8080, 8443, 80, 443 hinzufügen, auch wenn Sie Ihre Website hosten möchten.

0
SayeedHussain

Stellen Sie sicher, dass diese Sache in Schach ist

  1. privater Schlüssel muss über 400 Berechtigungen verfügen

  2. Stellen Sie sicher, dass Port 22 für die AWS-Instanz geöffnet ist, auf die Sie zugreifen möchten.

  3. ssh -i privatekey.pem [email protected] // XXX.XXX.XXX.XXX = Ihre öffentliche Instanz-IP
0
IMRA

Ändern Sie zuerst die Erlaubnis der PEM-Datei durch

chmod 400 path/to/key_pair.pem

Fügen Sie in der Datei ~/.ssh/config die folgenden Zeilen oben in der Datei hinzu

Host AWS
     Hostname myserver.com
     User myuser
     IdentityFile path/to/.pem/file
     port 22

Hostname IP oder Link des Servers übernehmen, Benutzer Benutzername des Servers übernehmen und Identitätsdatei ist die Datei, die von AWS heruntergeladen wurde, als Sie die Instanz erstellt haben. Führen Sie einfach den folgenden Befehl im Terminal aus

ssh AWS

und geniesse es!

Hinweis: Zum Navigieren in .ssh Mappe. Drücken Sie zuerst Ctrl + H im Home-Ordner, um alle versteckten Dateien anzuzeigen und schließlich cd .ssh

0
Vineet Jain

Das Problem besteht möglicherweise darin, dass Sie sich nicht als der richtige Benutzer für OS Distro anmelden. Bei bestimmten neuen AMIs ist der Benutzername möglicherweise nicht "ubuntu", sondern "ec2-user". Für Amazon Linux glaube ich beispielsweise, dass der Benutzer "ec2-user" ist. Eric Hammond gibt hier Beispiele: http://alestic.com/2014/01/ec2-ssh-username

Mein Vorschlag, versuchen Sie:

ssh -i /path/to/file.pem [email protected]

ssh -i /path/to/file.pem [email protected]

ssh -i /path/to/file.pem [email protected]

Wenn Sie über das falsche AMI verfügen, möchten Sie den Computer möglicherweise neu starten, damit die Cluster einheitlich sind. Wenn dies Ihr Problem ist, werden Sie wahrscheinlich zumindest für Ihre Linux-Boxen die gleichen Betriebssystem-Distributionen benötigen.

0
Henry