Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Secure Shell (SSH) può essere usato per eseguire comandi amministrativi in remoto in un contenitore. servizio app fornisce il supporto SSH direttamente in un'app ospitata in un contenitore personalizzato di Windows.
I contenitori personalizzati di Windows non richiedono impostazioni speciali per il funzionamento della sessione SSH del browser. Le sessioni SSH tramite l'interfaccia della riga di comando di Azure non sono supportate.
Secure Shell (SSH) può essere usato per eseguire comandi amministrativi in remoto in un contenitore. servizio app fornisce il supporto SSH direttamente in un'app ospitata in un contenitore Linux (predefinito o personalizzato).
I contenitori Linux predefiniti hanno già la configurazione necessaria per abilitare le sessioni SSH. I contenitori personalizzati Linux richiedono configurazioni aggiuntive per abilitare le sessioni SSH. Vedere Abilitare SSH.
È anche possibile connettersi al contenitore direttamente dal computer di sviluppo locale tramite SSH e SFTP.
Aprire una sessione SSH nel browser
Se si vuole aprire una sessione SSH diretta con il contenitore, l'app deve essere in esecuzione.
Usare il comando az webapp ssh .
Se non si è autenticati, è necessario eseguire l'autenticazione con la sottoscrizione di Azure per connettersi. Quando si esegue l'autenticazione, viene visualizzata una shell nel browser in cui è possibile eseguire comandi all'interno del contenitore.
Aprire una sessione SSH con l'interfaccia della riga di comando di Azure
Usando il tunneling TCP è possibile creare una connessione di rete tra il computer di sviluppo e i contenitori Linux tramite una connessione WebSocket autenticata. Consente di aprire una sessione SSH con il contenitore in esecuzione in App Service dal client di tua scelta.
Per iniziare, è necessario installare l'interfaccia della riga di comando di Azure. Per esaminare il funzionamento senza installare l'interfaccia della riga di comando di Azure, aprire Azure Cloud Shell.
Aprire una connessione remota all'app usando il comando az webapp create-remote-connection . Indicare <subscription-id>, <group-name> e <app-name> per la tua app.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
Suggerimento
Il carattere & alla fine del comando serve solo per comodità, se si usa Cloud Shell. Esegue il processo in background in modo che sia possibile eseguire il comando successivo nella stessa shell.
Nota
Se questo comando non riesce, assicurarsi che il debug remoto sia disabilitato con il comando seguente:
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
L'output del comando include le informazioni necessarie per aprire una sessione SSH.
Verifying if app is running....
App is running. Trying to establish tunnel connection...
Opening tunnel on addr: 127.0.0.1
Opening tunnel on port: <port-output>
SSH is available { username: root, password: Docker! }
Ctrl + C to close
Aprire una sessione SSH con il contenitore con il client preferito, usando la porta locale fornita nell'output (<port-output>). Ad esempio, con il comando ssh linux, è possibile eseguire un singolo comando, ad java -versionesempio :
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version
In alternativa, per immettere una sessione SSH completa, è sufficiente eseguire:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>
Quando viene richiesto, digitare yes per continuare con la connessione. Verrà richiesto di specificare la password. Usa il valore Docker!, che ti è stato illustrato in precedenza.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
Al termine dell'autenticazione verrà visualizzata la schermata iniziale della sessione.
_____
/ _ \ __________ _________ ____
/ /_\ \___ / | \_ __ \_/ __ \
/ | \/ /| | /| | \/\ ___/
\____|__ /_____ \____/ |__| \___ >
\/ \/ \/
A P P S E R V I C E O N L I N U X
0e690efa93e2:~#
A questo punto si è connessi al connettore.
Provare a eseguire il comando top. Dovrebbe essere visibile il processo dell'app nell'elenco di processi. Nell'esempio seguente è quello con PID 263.
Mem: 1578756K used, 127032K free, 8744K shrd, 201592K buff, 341348K cached
CPU: 3% usr 3% sys 0% nic 92% idle 0% io 0% irq 0% sirq
Load average: 0.07 0.04 0.08 4/765 45738
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
1 0 root S 1528 0% 0 0% /sbin/init
235 1 root S 632m 38% 0 0% PM2 v2.10.3: God Daemon (/root/.pm2)
263 235 root S 630m 38% 0 0% node /home/site/wwwroot/app.js
482 291 root S 7368 0% 0 0% sshd: root@pts/0
45513 291 root S 7356 0% 0 0% sshd: root@pts/1
291 1 root S 7324 0% 0 0% /usr/sbin/sshd
490 482 root S 1540 0% 0 0% -ash
45539 45513 root S 1540 0% 0 0% -ash
45678 45539 root R 1536 0% 0 0% top
45733 1 root Z 0 0% 0 0% [init]
45734 1 root Z 0 0% 0 0% [init]
45735 1 root Z 0 0% 0 0% [init]
45736 1 root Z 0 0% 0 0% [init]
45737 1 root Z 0 0% 0 0% [init]
45738 1 root Z 0 0% 0 0% [init]
Contenuti correlati
È possibile pubblicare eventuali domande e dubbi nel forum di Azure.
Per altre informazioni sull'app Web per contenitori, vedere:
- Introducing remote debugging of Node.js apps on Azure App Service from VS Code (Introduzione al debug remoto delle app Node.js nel Servizio app di Azure da Visual Studio Code)
- Avvio rapido: Eseguire un contenitore personalizzato nel Servizio app
- Domande frequenti sulle app Web per contenitori di Servizio app di Azure