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.
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.
Ajout de votre clé SSH à l’aide de l’interface de ligne de commande de Cloud
-
Sur votre poste de travail local, modifiez le répertoire de votre projet.
-
Connectez-vous à votre projet :
code language-bash magento-cloud login
-
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 . |
Ajoutez votre clé SSH à l’aide de Cloud Console.
Pour ajouter une clé SSH à un nouveau projet :
-
Connectez-vous à Cloud Console.
-
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.
-
Copiez et collez le contenu de votre clé SSH publique dans le champ Clé publique .
-
Suivez les autres invites.
Pour ajouter une clé SSH à votre profil cloud :
-
Connectez-vous à Cloud Console.
-
Dans le menu supérieur droit du compte, cliquez sur Mon profil.
-
Dans la vue Clés SSH, cliquez sur Ajouter une clé publique.
-
Dans le formulaire Ajouter une clé SSH, donnez à votre clé un titre, et collez la clé SSH publique dans le champ Clé.
-
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 :
-
Sur votre poste de travail local, modifiez le répertoire de votre projet.
-
Liste des environnements dans ce projet.
code language-bash magento-cloud environment:list -p <project-ID>
-
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 :
-
Connectez-vous à Cloud Console.
-
Sélectionnez un projet dans la liste Tous les projets.
-
Sélectionnez un environnement.
-
Cliquez sur SSH.
-
Dans l’onglet SSH , cliquez sur le bouton Copier pour copier la commande SSH complète dans le Presse-papiers.
-
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
code language-bash |
---|
|
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
.
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>'