Sichere Verbindungen zu Remote-Umgebungen

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, die den öffentlichen SSH-Schlüssel verwenden. 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.
CAUTION
Geben Sie niemals Ihren privaten Schlüssel frei. Fügen Sie es nicht einem Ticket hinzu, kopieren Sie es nicht in einen Chat oder fügen Sie es E-Mails hinzu.

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

Nachdem Sie Ihren öffentlichen SSH-Schlüssel zu Ihrem Adobe Commerce-Konto in der Cloud-Infrastruktur hinzugefügt oder aktualisiert haben stellen Sie „Alle aktiven Umgebungen erneut bereitstellen auf Ihrem Konto 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.

CLI

Hinzufügen Ihres SSH-Schlüssels mithilfe der Cloud-CLI

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr 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 mithilfe der Cloud-CLI-Befehle 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 einen SSH-Schlüssel zu einem neuen Projekt hinzu:

  1. Melden Sie sich beim 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 Eingabeaufforderungen.

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

  1. Melden Sie sich beim Cloud Console an.

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

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

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

  5. 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:

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.

  2. Listen Sie die Umgebungen in diesem Projekt auf.

    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 von Web- und SSH-Zugriffsbefehlen für jede Umgebung.

So kopieren Sie den SSH-Befehl:

  1. Melden Sie sich beim Cloud Console an.

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

  3. Wählen Sie eine Umgebung.

  4. Klicken Sie auf SSH.

  5. Klicken Sie auf der SSH-Registerkarte 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 herzustellen.

    code language-bash
    ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
    
TIP
Bei 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 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.

NOTE
Wenn die sFTP-Verbindung für Pro Staging und Produktion für einen generischen Benutzer vorgesehen ist, der nicht zum Cloud-Projekt muss müssen Sie ein Adobe Commerce-Support-Ticket einreichen mit dem öffentlichen-Schlüssel angehängt. Geben Sie niemals Ihren privaten SSH-Schlüssel an.

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>'
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938