Connexions sécurisées à des environnements distants

Secure Shell (SSH) est un protocole commun utilisé pour se connecter en toute sécurité aux serveurs et systèmes distants. Vous pouvez utiliser SSH pour accéder à vos environnements distants afin de gérer l’application Adobe Commerce et d’accéder aux journaux d’environnement distants. Adobe ne prend en charge que les connexions FTP (sFTP) sécurisées à l’aide de votre clé SSH publique. Les connexions FTP ne sont pas prises en charge.

Génération d’une paire de clés SSH

Créez une paire de clés SSH sur chaque ordinateur et espace de travail qui nécessite l’accès au code source et aux environnements de votre projet. La clé SSH vous permet de vous connecter à GitHub pour gérer le code source et vous connecter aux serveurs cloud sans avoir à fournir constamment votre nom d’utilisateur et votre mot de passe. Voir Connexion à GitHub avec SSH pour plus d’informations sur la création d’une paire de clés SSH.

  • La clé publique peut être utilisée sans risque pour accéder à un site, SSH et sFTP.
  • La clé privée reste privée sur le poste de travail.
CAUTION
Ne partagez jamais votre clé privée. Ne l’ajoutez pas à un ticket, ne le copiez pas dans une conversation ou ne le joignez pas aux emails.

Ajout d’une clé publique SSH à votre compte

Après avoir ajouté votre clé SSH publique à votre compte Adobe Commerce sur l’infrastructure cloud, redéployez tous les environnements actifs de votre compte pour installer la clé.

Vous pouvez ajouter des clés SSH à votre compte à l’aide de l’une des méthodes suivantes : Cloud CLI ou Cloud Console.

CLI

Ajout de votre clé SSH à l’aide de l’interface de ligne de commande de Cloud

  1. Sur votre poste de travail local, modifiez le répertoire de votre projet.

  2. Connectez-vous à votre projet :

    code language-bash
    magento-cloud login
    
  3. Ajoutez la clé publique.

    code language-bash
    magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
    
note tip
TIP
Vous pouvez répertorier et supprimer des clés SSH à l’aide des commandes de l’interface de ligne de commande de Cloud ssh-key:list et ssh-key:delete.
Console

Ajoutez votre clé SSH à l’aide de Cloud Console.

Pour ajouter une clé SSH à un nouveau projet :

  1. Connectez-vous à Cloud Console.

  2. Cliquez sur No SSH key. Cette icône est située à droite du champ de commande et est visible lorsque le projet ne contient pas de clé SSH.

  3. Copiez et collez le contenu de votre clé SSH publique dans le champ Clé publique .

  4. Suivez les autres invites.

Pour ajouter une clé SSH à votre profil cloud :

  1. Connectez-vous à Cloud Console.

  2. Dans le menu supérieur droit du compte, cliquez sur Mon profil.

  3. Dans la vue Clés SSH, cliquez sur Ajouter une clé publique.

  4. Dans le formulaire Ajouter une clé SSH, donnez à votre clé un titre, et collez la clé SSH publique dans le champ Clé.

  5. Cliquez sur Enregistrer.

Connexion à un environnement distant

Vous pouvez vous connecter à un environnement distant à l’aide de l’interface de ligne de commande magento-cloud ou d’une commande SSH. Les commandes d’interface de ligne de commande magento-cloud ne peuvent être utilisées que dans les environnements d’intégration Starter et Pro.

Utilisation de l’interface de ligne de commande de Cloud

Pour vous connecter à un environnement d’intégration distante :

  1. Sur votre poste de travail local, modifiez le répertoire de votre projet.

  2. Liste des environnements dans ce projet.

    code language-bash
    magento-cloud environment:list -p <project-ID>
    
  3. Utilisez SSH pour vous connecter à l’environnement distant.

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

Utilisation d’une commande SSH

Cloud Console comprend une liste des commandes d'accès Web et SSH pour chaque environnement.

Pour copier la commande SSH :

  1. Connectez-vous à Cloud Console.

  2. Sélectionnez un projet dans la liste Tous les projets.

  3. Sélectionnez un environnement.

  4. Cliquez sur SSH.

  5. Dans l’onglet SSH , cliquez sur le bouton Copier pour copier la commande SSH complète dans le Presse-papiers.

  6. Ouvrez un terminal et collez la commande SSH pour créer une connexion.

    code language-bash
    ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
    
TIP
Pour les environnements d’évaluation et de production Pro, la commande SSH peut se présenter comme suit :
code language-bash
ssh <node>.ent-<project-ID>-<environment>-<user-ID>@ssh.<region>.magento.com

sFTP

Adobe Commerce sur l’infrastructure cloud prend en charge l’accès à vos environnements à l’aide du protocole sFTP (sécurisé) avec authentification SSH. Utilisez un client qui prend en charge l’authentification par clé SSH pour sFTP et utilisez votre clé SSH publique. Votre clé SSH publique doit être ajoutée à l’environnement cible. Pour les environnements de démarrage et les environnements d’intégration Pro, vous pouvez l’ajouter via le Cloud Console.

Les connexions sFTP en lecture seule ne sont pas prises en charge ; l’accès sFTP est fourni par défaut avec l’autorisation write .

Lors de la configuration de sFTP, utilisez les informations de la commande d'environnement d'accès SSH : <project-id>-<environment-id>--<app-name>@ssh<cloud-host>

  • Nom d’utilisateur : tout le contenu situé avant @ dans votre destination d’accès SSH.
  • Mot de passe : vous n’avez pas besoin de mot de passe pour sFTP. L’accès sFTP utilise l’authentification par clé SSH.
  • Hôte : tout le contenu après @ dans votre accès SSH.
  • Port : 22, qui est le port SSH par défaut.
  • SSH Clé privée : Si nécessaire, fournissez l’emplacement de votre clé privée au client sFTP. Par défaut, les clés privées sont stockées dans le répertoire ~/.ssh.

Selon le client, des options supplémentaires peuvent être requises pour effectuer l’authentification SSH pour sFTP. Consultez la documentation de votre client sélectionné.

Pour les environnements de lancement et les environnements d'intégration Pro, vous pouvez également envisager d'ajouter un mount pour l'accès à un répertoire spécifique. Ajoutez le montage à votre fichier .magento.app.yaml. Pour obtenir la liste des répertoires modifiables, voir Structure du projet. Ce point de montage ne fonctionne que dans ces environnements.

Pour les environnements d’évaluation et de production Pro, si vous ne disposez pas d’un accès SSH à l’environnement, vous devez envoyer un ticket d’assistance Adobe Commerce pour demander un accès sFTP et un point de montage pour l’accès au dossier spécifique, par exemple pub/media.

NOTE
Pour Pro Staging and Production, si la connexion sFTP est destinée à un utilisateur générique qui n’a pas besoin d’être ajouté au projet Cloud, vous devez envoyer un ticket d’assistance Adobe Commerce avec sa clé publique jointe. Ne fournissez jamais votre clé SSH privée.

Tunneling SSH

Vous pouvez utiliser l’effet tunnel SSH pour vous connecter à un service à partir de votre environnement de développement local comme si le service était local. Avant de procéder au tunneling, configurez votre SSH.

Utilisez une application de terminal pour vous connecter et lancer des commandes.

magento-cloud login

Vérifiez si des tunnels sont ouverts à l’aide de .

magento-cloud tunnel:list

Pour créer un tunnel, vous devez connaître le nom de l'application. Vous pouvez vérifier le nom de l’application à l’aide de l’interface en ligne de commande :

magento-cloud apps

Configuration du tunnel SSH

magento-cloud tunnel:open -e <environment-ID> --app <app-name>

Par exemple, pour ouvrir un tunnel vers la branche sprint5 dans un projet avec une application nommée mymagento, saisissez

magento-cloud tunnel:open -e sprint5 --app mymagento

Exemple de réponse :

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

Pour afficher des informations sur votre tunnel :

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

Connexion aux services

Après avoir créé un tunnel SSH, vous pouvez vous connecter aux services comme s’ils s’exécutaient localement. Par exemple, pour vous connecter à la base de données, utilisez la commande suivante :

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