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. Siehe Verbindung zu GitHub mit SSH für weitere Anweisungen zum Erstellen eines SSH-Schlüsselpaars.

  • Die öffentlicher Schlüssel ist sicher, um den Zugriff auf eine Site, SSH und sFTP bereitzustellen.
  • Die privater Schlüssel bleibt auf der Workstation privat.
CAUTION
Geben Sie nie Ihren privaten Schlüssel 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 mithilfe der Cloud CLI-Befehle auflisten und löschen ssh-key:list und ssh-key:delete.
Konsole

Fügen Sie Ihren SSH-Schlüssel mithilfe der Cloud Console

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

  1. Melden Sie sich bei Cloud Console.

  2. Klicks 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 die Öffentlicher Schlüssel -Feld.

  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.

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

  3. Im SSH-Schlüssel Ansicht, klicken Sie Öffentlichen Schlüssel hinzufügen.

  4. Im SSH-Schlüssel hinzufügen Formular, geben Sie Ihrem Schlüssel einen Titel und fügen Sie den öffentlichen SSH-Schlüssel in die Schlüssel -Feld.

  5. Klicks Speichern.

Herstellen einer Verbindung zu einer Remote-Umgebung

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

Verwenden der Cloud-CLI

So melden Sie sich bei einer Remote-Integrationsumgebung an:

  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.

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

  3. Wählen Sie eine Umgebung aus.

  4. Klicks SSH.

  5. Im SSH klicken Sie 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. In Starter-Umgebungen und Pro-Integrationsumgebungen können Sie Fügen Sie ihn über die Cloud Console.

Schreibgeschützte sFTP-Verbindungen sind not unterstützt. Der sFTP-Zugriff wird mit schreiben -Berechtigung standardmäßig aus.

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.
  • Passwort: 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 ~/.ssh Verzeichnis.

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.

Für Starterumgebungen und Pro-Integration-Umgebungen, können Sie auch Hinzufügen von mount für den Zugriff auf einen bestimmten Ordner. Sie würden die -Bereitstellung zu Ihrem .magento.app.yaml -Datei. Eine Liste der beschreibbaren Verzeichnisse finden Sie unter Projektstruktur. Dieser Bereitstellungspunkt funktioniert nur in diesen Umgebungen.

Für Pro Staging- und Produktionsumgebungen Wenn Sie keinen SSH-Zugriff auf die Umgebung haben, müssen Sie Senden eines Adobe Commerce Support-Tickets um den sFTP-Zugriff und einen Bereitstellungspunkt für den Zugriff auf den jeweiligen Ordner anzufordern, z. B. pub/media.

NOTE
Für Pro Staging und Produktion, wenn die sFTP-Verbindung für eine generisch Benutzer, der not müssen zum Cloud-Projekt hinzugefügtmüssen Sie Senden eines Adobe Commerce Support-Tickets mit öffentlich Schlüssel angehängt. Geben Sie niemals Ihren privaten SSH-Schlüssel 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 bauen, müssen Sie die Anwendungsname. 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 Verzweigung in einem Projekt mit einer App mit dem Namen mymagento, eingeben

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