Sichere Verbindungen zu Remote-Umgebungen

Secure Shell (SSH) ist ein gängiges Protokoll, das zur sicheren Anmeldung bei Remote-Servern und -Systemen verwendet wird. 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-Verbindungen (sFTP) mit Ihrem öffentlichen SSH-Schlüssel. FTP-Verbindungen werden nicht unterstützt.

Generieren eines SSH-Schlüsselpaars

Erstellen Sie auf jedem Computer und Arbeitsbereich ein SSH-Schlüsselpaar, das Zugriff auf Ihren Projektquell-Code und Ihre Umgebungen erfordert. Mit dem SSH-Schlüssel können Sie eine Verbindung zu GitHub herstellen, um Quellcode zu verwalten und eine Verbindung zu Cloud-Servern herzustellen, ohne ständig Ihren Benutzernamen und Ihr Passwort angeben zu müssen. Weitere Informationen zum Erstellen eines SSH-Schlüsselpaars finden Sie unter Herstellen einer Verbindung zu GitHub mit SSH .

  • Der öffentliche Schlüssel ist sicher, um auf eine Site, SSH und sFTP zuzugreifen.
  • Der private Schlüssel bleibt auf der Workstation privat.
CAUTION
Geben Sie Ihren privaten Schlüssel nie frei. Fügen Sie es nicht zu einem Ticket hinzu, kopieren Sie es in einen Chat oder fügen Sie es an E-Mails an.

Hinzufügen eines öffentlichen SSH-Schlüssels zu Ihrem Konto

Nachdem Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem Adobe Commerce-Konto für die Cloud-Infrastruktur hinzugefügt haben, stellen Sie alle aktiven Umgebungen auf Ihrem Konto erneut bereit, um den Schlüssel zu installieren.

Sie können Ihrem Konto SSH-Schlüssel mit einer der folgenden Methoden hinzufügen: Cloud CLI oder Cloud Console.

CLI

SSH-Schlüssel mithilfe der Cloud CLI hinzufügen

  1. Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.

  2. Melden Sie sich bei Ihrem Projekt an:

    code language-bash
    magento-cloud login
    
  3. Fügen Sie den öffentlichen Schlüssel hinzu.

    code language-bash
    magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
    
note tip
TIP
Sie können SSH-Schlüssel mit den Cloud CLI-Befehlen ssh-key:list und ssh-key:delete auflisten und löschen.
Konsole

Fügen Sie Ihren SSH-Schlüssel mit dem Cloud Console hinzu.

So fügen Sie einem neuen Projekt einen SSH-Schlüssel hinzu:

  1. Melden Sie sich bei Cloud Console an.

  2. 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.

  3. Kopieren Sie den Inhalt Ihres öffentlichen SSH-Schlüssels und fügen Sie ihn in das Feld Öffentlicher Schlüssel ein.

  4. Befolgen Sie die restlichen Anweisungen.

So fügen Sie Ihrem Cloud-Profil einen SSH-Schlüssel hinzu:

  1. Melden Sie sich bei Cloud Console an.

  2. Klicken Sie oben rechts im Kontomenü auf Mein Profil.

  3. Klicken Sie in der Ansicht SSH-Schlüssel auf öffentlichen Schlüssel hinzufügen.

  4. Geben Sie im Formular SSH-Schlüssel hinzufügen Ihrem Schlüssel einen Titel und fügen Sie den öffentlichen SSH-Schlüssel in das Feld Schlüssel ein.

  5. Klicken Sie auf Speichern.

Herstellen einer Verbindung zu einer Remote-Umgebung

Sie können eine Verbindung zu einer Remote-Umgebung über den Befehl magento-cloud CLI oder SSH herstellen. Die magento-cloud CLI-Befehle können nur in Starter- und Pro-Integrationsumgebungen verwendet werden.

Verwenden der Cloud-CLI

Anmelden bei einer Remote-Integrationsumgebung:

  1. Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.

  2. Geben Sie die Umgebungen in diesem Projekt an.

    code language-bash
    magento-cloud environment:list -p <project-ID>
    
  3. Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.

    code language-bash
    magento-cloud ssh -p <project-ID> -e <environment-ID>
    

SSH-Befehl verwenden

Die Cloud Console enthält eine Liste der Web- und SSH-Zugriffsbefehle für jede Umgebung.

So kopieren Sie den SSH-Befehl:

  1. Melden Sie sich bei Cloud Console an.

  2. Wählen Sie ein Projekt aus der Liste Alle Projekte aus.

  3. Wählen Sie eine Umgebung aus.

  4. Klicken Sie auf SSH.

  5. Klicken Sie auf der Registerkarte SSH auf die Schaltfläche "Kopieren", um den vollständigen SSH-Befehl in die Zwischenablage zu kopieren.

  6. Öffnen Sie ein Terminal und fügen Sie den SSH-Befehl ein, um eine Verbindung zu erstellen.

    code language-bash
    ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
    
TIP
In Pro-Staging- und Produktionsumgebungen kann der SSH-Befehl wie folgt aussehen:
code language-bash
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 zur Zielumgebung hinzugefügt werden. Bei Starterumgebungen und Pro-Integrationsumgebungen können Sie über den Abschnitt Cloud Console hinzufügen.

Schreibgeschützte sFTP-Verbindungen werden nicht unterstützt. Der sFTP-Zugriff wird standardmäßig mit der Berechtigung write versehen.

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 FTP-Zugriff verwendet die SSH-Schlüsselauthentifizierung.
  • Host: Alle Inhalte nach dem @ in Ihrem SSH-Zugriff.
  • Port: 22, 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 Verzeichnis ~/.ssh gespeichert.

Je nach Client sind möglicherweise zusätzliche Optionen erforderlich, um die SSH-Authentifizierung für sFTP abzuschließen. Überprüfen Sie die Dokumentation für Ihren ausgewählten Client.

Bei Starterumgebungen und Pro-Integrationsumgebungen sollten Sie auch erwägen, eine mount für den Zugriff auf einen bestimmten Ordner hinzuzufügen. Sie würden das -Reittier zu Ihrer .magento.app.yaml-Datei hinzufügen. Eine Liste der beschreibbaren Ordner 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 senden, um den SFTP-Zugriff und einen Bereitstellungspunkt für den Zugriff auf den jeweiligen Ordner anzufordern, z. B. pub/media.

NOTE
Wenn die sFTP-Verbindung für Pro-Staging- und -Produktions-Benutzer generic ist und nicht 🔗 zum Cloud-Projekt hinzugefügt werden muss, müssen Sie ein Adobe Commerce-Supportticket senden, an das der Schlüssel public angehängt ist. Geben Sie Ihren privaten SSH-Schlüssel nie an.

SSH-Tunnel

Sie können SSH-Tunnel verwenden, um von Ihrer lokalen Entwicklungsumgebung aus eine Verbindung zu einem Dienst herzustellen, als wäre der Dienst lokal. Konfigurieren Sie vor dem Tunneln Ihre SSH.

Verwenden Sie eine Terminal-Anwendung, um sich anzumelden und Befehle auszugeben.

magento-cloud login

Überprüfen Sie, ob Tunnel mit geöffnet sind.

magento-cloud tunnel:list

Um einen Tunnel zu erstellen, müssen Sie den Anwendungsnamen kennen. 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 Zweig sprint5 in einem Projekt mit einer App namens mymagento zu öffnen, geben Sie

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 zu Ihrem Tunnel an:

magento-cloud tunnel:info -e <environment-ID>

Verbindung zu Diensten

Nach der Einrichtung eines SSH-Tunnels können Sie eine Verbindung zu Diensten herstellen, als ob sie lokal ausgeführt würden. Verwenden Sie beispielsweise den folgenden Befehl, um eine Verbindung zur Datenbank herzustellen:

mysql --host=127.0.0.1 --user='<database-username>' --pass='<user-password>' --database='<name>' --port='<port>'
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26