Ich habe mich gerade für das neue Angebot von Amazon für elastische Bohnenstangen angemeldet. Was ich nicht herausfinden kann, ist, wie man SSH zu einer Beanstalk-Instanz macht. Ich habe keinen privaten Schlüssel, da Beanstalk die Instanz in meinem Namen generiert hat.
amazon-web-services
amazon-ec2
ssh
amazon-elastic-beanstalk
Benno Waldmann
quelle
quelle
eb ssh
Antworten:
Ich fand es ein 2-stufiger Prozess. Dies setzt voraus, dass Sie bereits ein Schlüsselpaar für den Zugriff auf EC2-Instanzen in der entsprechenden Region eingerichtet haben.
Sicherheitsgruppe konfigurieren
elasticbeanstalk-default
Sicherheitsgruppe haben, wenn Sie eine Elastic Beanstalk-Instanz in dieser Region gestartet haben.Bearbeiten Sie die Sicherheitsgruppe, um eine Regel für den SSH-Zugriff hinzuzufügen. Im Folgenden wird es gesperrt, um nur das Eindringen von einer bestimmten IP-Adresse zuzulassen.
Konfigurieren Sie die Umgebung Ihrer Elastic Beanstalk-Anwendung
Existing Key Pair
Feld aus.Nach dem Neustart der Instanz müssen Sie den Hostnamen von der Registerkarte AWS Console EC2-Instanzen oder über die API abrufen. Sie sollten dann in der Lage sein, auf den Server zu ssh.
Hinweis: Um der Umgebungskonfiguration ein Schlüsselpaar hinzuzufügen, muss der Beendigungsschutz der Instanzen deaktiviert sein, da Beanstalk versuchen würde, die aktuellen Instanzen zu beenden und neue Instanzen mit dem KeyPair zu starten.
Hinweis: Wenn etwas nicht funktioniert, überprüfen Sie die Registerkarte "Ereignisse" in der Beanstalk-Anwendung / -Umgebung und finden Sie heraus, was schief gelaufen ist.
quelle
Elastic Beanstalk CLI v3 unterstützt jetzt direktes SSH mit dem Befehl
eb ssh
. Z.BEs ist nicht erforderlich, Sicherheitsgruppen einzurichten, um die Adresse der EC2-Instanz herauszufinden.
Es gibt auch diesen coolen Trick:
Dadurch wird Port 22 vorübergehend auf 0.0.0.0 geöffnet und bis Sie geöffnet bleiben
exit
. Dies vereint ein wenig die Vorteile der Top-Antwort, ohne den Ärger. Sie können vorübergehend jemand anderem als Ihnen Zugriff zum Debuggen gewähren und so weiter. Natürlich müssen Sie ihren öffentlichen Schlüssel noch auf den Host hochladen, damit sie Zugriff haben. Sobald Sie das tun (und solange Sie drinnen sindeb ssh
), kann die andere Personquelle
eb ssh production
. Sie können auch eine bestimmte Umgebung mit der Setup-Optioneb ssh production --setup
Meine Erfahrung im August 2013 mit einem Linux-Client und einer einfachen AWS Beanstalk-Installation (einzelne EC2-Instanz) ist wie folgt (basierend auf dem obigen Community-Wiki)
Sicherheitsgruppe konfigurieren
awsweb...
Sicherheitsgruppe aus, und die Details sollten unten auf der Seite angezeigt werdenErstellen Sie ein öffentlich-privates Schlüsselpaar
Verknüpfen Sie das Public Private Key-Paar mit dem Elastic Beanstalk EC2-Server
Stellen Sie über SSH eine Verbindung zur AWS EC2-Instanz her
Viel Glück
quelle
Ich habe auch damit gespielt.
Der Service wird neu gestartet, machen Sie also einen Kaffee für 5 Minuten
Auf Ihrer Registerkarte ec2 für dieselbe Region sehen Sie Ihre neue laufende Instanz. ssh zum öffentlichen DNS-Namen als ec2-Benutzer unter Verwendung des in 3 hinzugefügten Schlüssels, z. B. ssh [email protected]
quelle
Für die EC2-Instanz gibt es im Menü "Instanzaktionen" eine praktische Option "Verbinden". Sie erhalten den genauen SSH-Befehl, den Sie mit der richtigen URL für die Instanz ausführen können. Die allgemeinen Anweisungen von Jabley sind korrekt.
quelle
Die obigen Antworten sind etwas alt.
Erstellen Sie zuerst ein Schlüsselpaar und hängen Sie es dann an die Elastic Beanstalk-Umgebung an.
Schritte zum Erstellen eines Schlüsselpaars
Schritte zum Anhängen des erstellten Schlüsselpaars an die Elastic Beanstalk-Umgebung
AWS -> Services -> Elastic Beanstalk
Wählen Sie Ihre Umgebung aus und klicken Sie links auf die Konfiguration.
Wählen Sie in der Konfigurationsübersicht unter Sicherheit die Option Ändern aus.
Wählen Sie unter Berechtigungen für virtuelle Maschinen das von uns erstellte Schlüsselpaar aus.
Klicken Sie auf Speichern und dann auf Konfiguration speichern.
Es wird einige Zeit dauern, bis Ihre EC2-Instanz angezeigt wird.
quelle
Wenn Sie Elastic Bean und EB CLI verwenden
eb ssh
, melden Sie sich einfach bei der Instanz an. Sie können die im folgenden Link angegebenen Optionen verwenden: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.htmlquelle
Sie müssen eine direkte Verbindung zur ec2-Instanz über ihre öffentliche IP-Adresse herstellen. Sie können keine Verbindung mit der URL für elastische Bohnenstiele herstellen.
Sie finden die IP-Adresse der Instanz, indem Sie sie in der ec2-Konsole nachschlagen.
Sie müssen auch sicherstellen, dass Port 22 geöffnet ist. Standardmäßig schließt die EB-CLI Port 22, nachdem eine SSH-Verbindung hergestellt wurde. Sie können eb ssh -o aufrufen, um den Port nach Abschluss der ssh-Sitzung offen zu halten.
Warnung: Sie sollten wissen, dass elastische Bohnenstange Ihre Instanz jederzeit ersetzen kann. Der Zustand ist für keine Ihrer elastischen Bohnenstangeninstanzen garantiert. Es ist wahrscheinlich besser, ssh nur zu Test- und Debugging-Zwecken zu verwenden, da alles, was Sie ändern, jederzeit verschwinden kann.
quelle
Die Richtung zum Festlegen des Schlüsselpaars für eine ElasticBeanstalk ec2-Instanz mit der aktuellen Benutzeroberfläche lautet: Warnung: Dies erfordert eine Aktualisierung der EC2-Instanzen in Ihrer ElasticBeanstalk-App. Hinweis: Zuvor müssen Sie im EC2-Dashboard ein Schlüsselpaar erstellt haben.
1) Wählen Sie im AWS Dashboard den ElasticBeanstalk-Dienst aus. 2) Wählen Sie die Anwendung aus, die Sie verwenden möchten. 3) Wählen Sie 'Konfiguration'. 4) Wählen Sie das Zahnradsymbol (Einstellungen) im Konfigurationsfeld 'Instanzen'. 5) Hiermit gelangen Sie zu einer Seite mit dem Titel "Server", auf der Sie das Dropdown-Feld "EC2-Schlüsselpaar" mit Ihrem gewünschten Schlüsselpaar aktualisieren und "Speichern" auswählen können.
Zu beachten ist, dass dies möglicherweise nicht für Anwendungen mit mehreren Instanzen funktioniert (aber ich glaube, es ist wahrscheinlich, wenn sich alle in derselben Region wie das Schlüsselpaar befinden).
quelle
Ich bin hierher gekommen, um nach einer Möglichkeit zu suchen, einer Instanz, die Beanstalk während der Bereitstellung erstellt, einen Schlüssel hinzuzufügen (wir verwenden Terraform). In Terraform können Sie Folgendes tun:
Sie können diesen Schlüssel dann für SSH in die Box verwenden.
quelle
Wenn Sie die CLI mithilfe
eb init
Ihrer Umgebung eingerichtet haben, sollte dies so einfach sein wieeb ssh --setup
Auf diese Weise können Sie ein neues Schlüsselpaar erstellen oder ein vorhandenes verwenden, falls vorhanden.Möglicherweise können Sie auch einfach eine Verbindung mit der vorhandenen Umgebung herstellen,
eb use
obwohl ich das noch nicht getan habe.Weitere Informationen zur Installation der CLI finden Sie unter https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
quelle
Auf dem Mac können Sie die CLI mit Brew installieren:
Mit dem Kommandozeilen-Tool können Sie dann ssh mit:
und auch andere Operationen durchführen. Dies setzt voraus, dass Sie eine Sicherheitsgruppe hinzugefügt haben, die ssh von Ihrer IP-Adresse aus zulässt.
quelle
Abhängig von Ihrer Umgebungskonfiguration haben Sie möglicherweise keine öffentliche IP-Adresse auf der EC2-Instanz, die für Ihre Umgebung erstellt wurde. Sie können überprüfen durch:
Wählen Sie abschließend Ihre neue EIP aus und wählen Sie im Aktionsmenü die Option Adresse zuordnen. Verknüpfen Sie diese IP mit Ihrer EC2-Instanz. Sie sollten in der Lage sein, eine Verbindung mit herzustellen
eb ssh
.Sie können die Verbindungsdetails zurücksetzen, indem Sie ausführen
eb ssh --setup
.quelle
Ich bin vor einiger Zeit auch auf das gleiche Problem gestoßen. Ich wollte die Schlüsseldatei verwenden, aber Amazon sagt irgendwo, dass Sie einem vorhandenen EC2-Server keine Schlüsseldatei hinzufügen können. Für die erste Beanstalk-Anwendung konfiguriert Amazon die Anwendung für Sie vor. Sie müssen eine neue Anwendung erstellen und den EC2-Server, auf dem die Beanstalk-App ausgeführt wird, so konfigurieren, dass eine alte PEM-Datei (ppk bei Verwendung von Putty) verwendet wird, oder Sie können eine neue erstellen. Jetzt sollten Sie in der Lage sein, SSH.
Konfigurieren Sie dann Ihre alte App und löschen Sie sie.
quelle