Sichere Verbindungen zu Remote-Umgebungen
- Themen:
- Cloud
Erstellt für:
- Entwickler
Secure Shell (SSH) ist ein gängiges Protokoll, das verwendet wird, um sich sicher bei Remote-Servern und Systemen anzumelden. Sie können SSH verwenden, um auf Ihre Remote-Umgebungen zuzugreifen, um die Adobe Commerce-Anwendung zu verwalten und auf Remote-Umgebungsprotokolle zuzugreifen. Adobe unterstützt nur sichere FTP (sFTP)-Verbindungen mit Ihrem öffentlichen SSH-Schlüssel. FTP-Verbindungen werden nicht unterstützt.
Erzeugen eines SSH-Schlüsselpaars
Erstellen Sie auf jedem Computer und Arbeitsbereich ein SSH-Schlüsselpaar, das Zugriff auf den Quell-Code und die Umgebungen Ihres Projekts erfordert. Mit dem SSH-Schlüssel können Sie eine Verbindung zu GitHub herstellen, um Quell-Code zu verwalten und eine Verbindung zu Cloud-Servern herzustellen, ohne ständig Ihren Benutzernamen und Ihr Passwort angeben zu müssen. Siehe Verbindung zu GitHub mit SSH herstellen für weitere Anweisungen zum Erstellen eines SSH-Schlüsselpaars.
- Der öffentliche Schlüssel kann für den Zugriff auf eine Site, SSH und sFTP bereitgestellt werden.
- Der private Schlüssel bleibt auf der Workstation privat.
Hinzufügen eines öffentlichen SSH-Schlüssels zu Ihrem Konto
Nachdem Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem Adobe Commerce in einem Cloud-Infrastrukturkonto hinzugefügt haben, stellen Sie alle aktiven Umgebungen in Ihrem Konto erneut bereit, um den Schlüssel zu installieren.
Sie können SSH-Schlüssel zu Ihrem Konto hinzufügen, indem Sie eine der folgenden Methoden verwenden: Cloud-CLI oder Cloud Console.
Hinzufügen Ihres SSH-Schlüssels mithilfe der Cloud-CLI
-
Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.
-
Melden Sie sich bei Ihrem Projekt an:
magento-cloud login
-
Fügen Sie den öffentlichen Schlüssel hinzu.
magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
ssh-key:list
und ssh-key:delete
auflisten und löschen.Fügen Sie Ihren SSH-Schlüssel mit dem Cloud Console hinzu
So fügen Sie einen SSH-Schlüssel zu einem neuen Projekt hinzu:
-
Melden Sie sich beim Cloud Console an.
-
Klicken Sie auf No SSH key. Dieses Symbol befindet sich rechts neben dem Befehlsfeld und ist sichtbar, wenn das Projekt keinen SSH-Schlüssel enthält.
-
Kopieren Sie den Inhalt Ihres öffentlichen SSH-Schlüssels und fügen Sie ihn in das Feld Öffentlicher Schlüssel ein.
-
Befolgen Sie die restlichen Eingabeaufforderungen.
So fügen Sie einen SSH-Schlüssel zu Ihrem Cloud-Profil hinzu:
-
Melden Sie sich beim Cloud Console an.
-
Klicken Sie im Kontomenü oben rechts auf Mein Profil.
-
Klicken Sie in der SSH Ansicht auf Öffentlichen Schlüssel hinzufügen.
-
Geben Sie im SSH-Schlüssel hinzufügen-Formular Ihrem Schlüssel einen Titel und fügen Sie den öffentlichen SSH-Schlüssel in das Feld Schlüssel ein.
-
Klicken Sie Speichern.
Verbindung zu einer Remote-Umgebung herstellen
Sie können eine Verbindung zu einer Remote-Umgebung über die magento-cloud
CLI oder einen SSH-Befehl herstellen. Die magento-cloud
CLI-Befehle können nur in Starter- und Pro-Integrationsumgebungen verwendet werden.
Verwenden der Cloud-CLI
So melden Sie sich bei einer Remote-Integrationsumgebung an:
-
Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.
-
Listen Sie die Umgebungen in diesem Projekt auf.
magento-cloud environment:list -p <project-ID>
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
magento-cloud ssh -p <project-ID> -e <environment-ID>
SSH-Befehl verwenden
Die Cloud Console enthält eine Liste von Web- und SSH-Zugriffsbefehlen für jede Umgebung.
So kopieren Sie den SSH-Befehl:
-
Melden Sie sich beim Cloud Console an.
-
Wählen Sie ein Projekt in der Liste Alle Projekte aus.
-
Wählen Sie eine Umgebung.
-
Klicken Sie auf SSH.
-
Klicken Sie auf der SSH-Registerkarte auf die Schaltfläche Kopieren , um den vollständigen SSH-Befehl in die Zwischenablage zu kopieren.
-
Öffnen Sie ein Terminal und fügen Sie den SSH-Befehl ein, um eine Verbindung herzustellen.
ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
ssh <node>.ent-<project-ID>-<environment>-<user-ID>@ssh.<region>.magento.com
sFTP
Adobe Commerce in der Cloud-Infrastruktur unterstützt den Zugriff auf Ihre Umgebungen über sFTP (sicheres FTP) mit SSH-Authentifizierung. Verwenden Sie einen Client, der die SSH-Schlüsselauthentifizierung für sFTP unterstützt, und verwenden Sie Ihren öffentlichen SSH-Schlüssel. Ihr öffentlicher SSH-Schlüssel muss der Zielumgebung hinzugefügt werden. Für Starter-Umgebungen und Pro-Integrationsumgebungen können Sie über die Cloud Console.
Schreibgeschützte sFTP-Verbindungen werden nicht unterstützt. Der sFTP-Zugriff wird standardmäßig mit der Berechtigung Schreiben bereitgestellt.
Verwenden Sie beim Konfigurieren von sFTP die Informationen aus Ihrem SSH-Zugriffsumgebungsbefehl: <project-id>-<environment-id>--<app-name>@ssh<cloud-host>
- Benutzername: Alle Inhalte vor dem
@
in Ihrem SSH-Zugriffsziel. - Kennwort: Sie benötigen kein Kennwort für sFTP. Der SFTP-Zugriff verwendet die SSH-Schlüsselauthentifizierung.
- Host: Alle Inhalte nach dem
@
in Ihrem SSH-Zugriff. - Port: 22. Dies ist der standardmäßige SSH-Port.
- SSH Privater Schlüssel: Geben Sie bei Bedarf den Speicherort Ihres privaten Schlüssels für den sFTP-Client an. Standardmäßig werden private Schlüssel im
~/.ssh
gespeichert.
Je nach Client sind möglicherweise zusätzliche Optionen erforderlich, um die SSH-Authentifizierung für sFTP abzuschließen. Lesen Sie die Dokumentation für Ihren ausgewählten Client.
Für Starter-Umgebungen und Pro-Integrationsumgebungen sollten Sie auch erwägen, eine mount
für den Zugriff auf ein bestimmtes Verzeichnis hinzuzufügen. Sie würden das Einhängeelement zu Ihrer .magento.app.yaml
Datei hinzufügen. Eine Liste der beschreibbaren Verzeichnisse finden Sie unter Projektstruktur. Dieser Bereitstellungspunkt funktioniert nur in diesen Umgebungen.
Wenn Sie für Pro Staging- und Produktionsumgebungen keinen SSH-Zugriff auf die Umgebung haben, müssen Sie ein Adobe Commerce-Support-Ticket, um den sFTP-Zugriff anzufordern, und einen Bereitstellungspunkt für den Zugriff auf den spezifischen Ordner, z. B. pub/media
.
SSH-Tunneleffekt
Sie können SSH-Tunneling verwenden, um eine Verbindung zu einem Service aus Ihrer lokalen Entwicklungsumgebung herzustellen, als ob der Service lokal wäre. Konfigurieren Sie vor dem Tunneln Ihr SSH.
Verwenden Sie eine Terminal-Anwendung, um sich anzumelden und Befehle auszugeben.
magento-cloud login
Überprüfen Sie mithilfe von , ob Tunnel geöffnet sind.
magento-cloud tunnel:list
Um einen Tunnel zu erstellen, müssen Sie den Anwendungsnamen“. Sie können den Anwendungsnamen mithilfe der CLI überprüfen:
magento-cloud apps
Einrichten des SSH-Tunnels
magento-cloud tunnel:open -e <environment-ID> --app <app-name>
Um beispielsweise einen Tunnel zum sprint5
Zweig in einem Projekt mit einer App namens mymagento
zu öffnen, geben Sie Folgendes ein
magento-cloud tunnel:open -e sprint5 --app mymagento
Beispielantwort:
SSH tunnel opened on port 30004 to relationship: redis
SSH tunnel opened on port 30005 to relationship: database
Logs are written to: /home/magento_user/.magento/tunnels.log
List tunnels with: magento-cloud tunnels
View tunnel details with: magento-cloud tunnel:info
Close tunnels with: magento-cloud tunnel:close
So zeigen Sie Informationen über Ihren Tunnel an:
magento-cloud tunnel:info -e <environment-ID>
Mit Services verbinden
Nachdem Sie einen SSH-Tunnel eingerichtet haben, können Sie eine Verbindung zu -Services herstellen, als ob Sie lokal ausgeführt würden. Um beispielsweise eine Verbindung zur Datenbank herzustellen, verwenden Sie den folgenden Befehl:
mysql --host=127.0.0.1 --user='<database-username>' --pass='<user-password>' --database='<name>' --port='<port>'