Connessioni sicure agli ambienti remoti
Secure Shell (SSH) è un protocollo comune utilizzato per accedere in modo sicuro ai server e ai sistemi remoti. È possibile utilizzare SSH per accedere agli ambienti remoti per gestire l’applicazione Adobe Commerce e accedere ai registri degli ambienti remoti. Adobe supporta solo connessioni FTP sicure (sFTP) tramite la chiave pubblica SSH. Le connessioni FTP non sono supportate.
Generare una coppia di chiavi SSH
Crea una coppia di chiavi SSH in ogni computer e area di lavoro che richiede l’accesso al codice sorgente e agli ambienti del progetto. La chiave SSH consente di connettersi a GitHub per gestire il codice sorgente e connettersi ai server cloud senza dover fornire costantemente nome utente e password. Per ulteriori istruzioni sulla creazione di una coppia di chiavi SSH, vedere Connessione a GitHub con SSH.
- La chiave pubblica è sicura per l'accesso a un sito, SSH e sFTP.
- La chiave privata rimane privata nella workstation.
Aggiungi una chiave pubblica SSH al tuo account
Dopo aver aggiunto la chiave pubblica SSH all’account Adobe Commerce sull’infrastruttura cloud, ridistribuisci tutti gli ambienti attivi sull’account per installare la chiave.
È possibile aggiungere chiavi SSH all'account utilizzando uno dei seguenti metodi: Cloud CLI o Cloud Console.
Aggiungere la chiave SSH utilizzando Cloud CLI
-
Sulla workstation locale, passa alla directory del progetto.
-
Accedi al progetto:
code language-bash magento-cloud login
-
Aggiungi la chiave pubblica.
code language-bash magento-cloud ssh-key:add ~/.ssh/id_rsa.pub
note tip |
---|
TIP |
È possibile elencare ed eliminare le chiavi SSH utilizzando i comandi Cloud CLI ssh-key:list e ssh-key:delete . |
Aggiungi la tua chiave SSH utilizzando Cloud Console
Per aggiungere una chiave SSH a un nuovo progetto:
-
Accedi a Cloud Console.
-
Fare clic su No SSH key. Questa icona si trova a destra del campo del comando ed è visibile quando il progetto non contiene una chiave SSH.
-
Copia e incolla il contenuto della chiave SSH pubblica nel campo Chiave pubblica.
-
Seguire le istruzioni rimanenti.
Per aggiungere una chiave SSH al profilo cloud:
-
Accedi a Cloud Console.
-
Nel menu dell'account in alto a destra, fare clic su Profilo personale.
-
Nella visualizzazione Chiavi SSH, fare clic su Aggiungi chiave pubblica.
-
Nel modulo Aggiungi una chiave SSH, assegna alla chiave un Titolo e incolla la chiave SSH pubblica nel campo Chiave.
-
Fai clic su Salva.
Connessione a un ambiente remoto
È possibile connettersi a un ambiente remoto utilizzando CLI magento-cloud
o un comando SSH. I comandi CLI magento-cloud
possono essere utilizzati solo negli ambienti di integrazione Starter e Pro.
Utilizzare Cloud CLI
Per accedere a un ambiente di integrazione remoto:
-
Sulla workstation locale, passa alla directory del progetto.
-
Elencare gli ambienti in tale progetto.
code language-bash magento-cloud environment:list -p <project-ID>
-
Utilizza SSH per accedere all’ambiente remoto.
code language-bash magento-cloud ssh -p <project-ID> -e <environment-ID>
Utilizzare un comando SSH
Cloud Console include un elenco di comandi di accesso Web e SSH per ogni ambiente.
Per copiare il comando SSH:
-
Accedi a Cloud Console.
-
Selezionare un progetto dall'elenco Tutti i progetti.
-
Seleziona un ambiente.
-
Fare clic su SSH.
-
Nella scheda SSH, fare clic sul pulsante Copia per copiare il comando SSH completo negli Appunti.
-
Apri un terminale e incolla il comando SSH per creare una connessione.
code language-bash ssh abcdefg123abc-branch-a12b34c--mymagento@ssh.us-2.magento.cloud
code language-bash |
---|
|
sFTP
L’infrastruttura cloud di Adobe Commerce supporta l’accesso agli ambienti utilizzando sFTP (Secure FTP) con autenticazione SSH. Utilizza un client che supporta l’autenticazione della chiave SSH per sFTP e utilizza la tua chiave SSH pubblica. La chiave SSH pubblica deve essere aggiunta all’ambiente di destinazione. Per gli ambienti Starter e gli ambienti di integrazione Pro, puoi aggiungerli tramite Cloud Console.
Le connessioni sFTP di sola lettura sono non supportate; per impostazione predefinita, l'accesso sFTP è fornito con l'autorizzazione scrittura.
Durante la configurazione di sFTP, utilizzare le informazioni del comando dell'ambiente di accesso SSH: <project-id>-<environment-id>--<app-name>@ssh<cloud-host>
- Nome utente: tutto il contenuto prima di
@
nella destinazione di accesso SSH. - Password: non è necessaria una password per sFTP. L’accesso sFTP utilizza l’autenticazione con chiave SSH.
- Host: tutto il contenuto dopo
@
nell'accesso SSH. - Porta: 22, che è la porta SSH predefinita.
- SSH chiave privata: se necessario, fornisci la posizione della chiave privata al client sFTP. Per impostazione predefinita, le chiavi private sono archiviate nella directory
~/.ssh
.
A seconda del client, potrebbero essere necessarie opzioni aggiuntive per completare l’autenticazione SSH per sFTP. Consulta la documentazione del client selezionato.
Per gli ambienti Starter e gli ambienti di integrazione Pro, è inoltre consigliabile aggiungere un mount
per l'accesso a una directory specifica. Aggiungere il mount al file .magento.app.yaml
. Per un elenco delle directory scrivibili, vedere Struttura del progetto. Questo punto di montaggio funziona solo in questi ambienti.
Per ambienti di staging e produzione Pro, se non disponi dell'accesso SSH all'ambiente, devi inviare un ticket di supporto Adobe Commerce per richiedere l'accesso sFTP e un punto di montaggio per accedere alla cartella specifica, ad esempio pub/media
.
Tunneling SSH
È possibile utilizzare il tunneling SSH per connettersi a un servizio dall’ambiente di sviluppo locale come se il servizio fosse locale. Prima di eseguire il tunneling, configura SSH.
Utilizza un’applicazione terminale per accedere e inviare comandi.
magento-cloud login
Verifica se sono aperti dei tunnel utilizzando.
magento-cloud tunnel:list
Per creare un tunnel, è necessario conoscere il nome applicazione. È possibile controllare il nome dell'applicazione utilizzando CLI:
magento-cloud apps
Configurare il tunnel SSH
magento-cloud tunnel:open -e <environment-ID> --app <app-name>
Ad esempio, per aprire un tunnel al ramo sprint5
in un progetto con un'app denominata mymagento
, immetti
magento-cloud tunnel:open -e sprint5 --app mymagento
Risposta di esempio:
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
Per visualizzare informazioni sul tunnel:
magento-cloud tunnel:info -e <environment-ID>
Connetti ai servizi
Dopo aver stabilito un tunnel SSH, è possibile connettersi ai servizi come se si stesse eseguendo localmente. Per connettersi al database, ad esempio, utilizzare il comando seguente:
mysql --host=127.0.0.1 --user='<database-username>' --pass='<user-password>' --database='<name>' --port='<port>'