Öppna en SSH-session till en container i Azure App Service

Secure Shell (SSH) kan användas för att köra administrativa kommandon via fjärranslutning till en container. App Service tillhandahåller SSH-stöd direkt till en app som finns i en container.

Öppna en SSH-session i webbläsaren

Om du ska öppna en SSH-direktsession med din container måste appen vara igång.

Klistra in följande URL i webbläsaren och ersätt <app-name> med namnet på appen:

https://<app-name>.scm.azurewebsites.net/webssh/host

Om du inte redan har autentiserats måste du autentisera dig med din Azure-prenumeration för att kunna ansluta. När autentiseringen är klar visas ett gränssnitt i webbläsaren där du kan köra kommandon i containern.

SSH connection

Linux App Service SSH

Du kan också ansluta till containern direkt från din lokala utvecklingsdator med hjälp av SSH och SFTP.

Öppna en SSH-session i webbläsaren

Om du ska öppna en SSH-direktsession med din container måste appen vara igång.

Klistra in följande URL i webbläsaren och ersätt <app-name> med namnet på appen:

https://<app-name>.scm.azurewebsites.net/webssh/host

Om du inte redan har autentiserats måste du autentisera dig med din Azure-prenumeration för att kunna ansluta. När autentiseringen är klar visas ett gränssnitt i webbläsaren där du kan köra kommandon i containern.

SSH connection

Använda SSH-stöd med anpassade Docker-avbildningar

Se Konfigurera SSH i en anpassad container.

Öppna SSH-session från fjärrgränssnittet

Kommentar

Den här funktionen är för närvarande i förhandsversion.

Med TCP-tunnlar kan du skapa en nätverksanslutning mellan utvecklingsdatorn och Web App for Containers via en autentiserad WebSocket-anslutning. Det gör att du kan öppna en SSH-session med containern som körs i App Service från valfri klient.

För att komma igång måste du installera Azure CLI. Om du vill se hur det fungerar utan att installera Azure CLI öppnar du Azure Cloud Shell.

Öppna en fjärranslutning till din app med kommandot az webapp create-remote-connection . Ange <prenumerations-ID>,< gruppnamn> och <appnamn> för din app.

az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &

Dricks

& i slutet av kommandot är bara för enkelhetens skull om du använder Cloud Shell. Den kör processen i bakgrunden så att du kan köra nästa kommando i samma gränssnitt.

Kommentar

Om det här kommandot misslyckas kontrollerar du att fjärrfelsökning är inaktiverat med följande kommando:

az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false

Med kommandoutdata får du den information du behöver för att öppna en SSH-session.

Port 21382 is open
SSH is available { username: root, password: Docker! }
Start your favorite client and connect to port 21382

Öppna en SSH-session med din container med valfri klient med hjälp av den lokala porten. I följande exempel används standardkommandot ssh :

ssh root@127.0.0.1 -p <port>

När du uppmanas att göra det skriver du yes för att fortsätta ansluta. Du uppmanas sedan att ange lösenordet. Använd Docker!, som visades för dig tidigare.

Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts.
root@127.0.0.1's password:

När du har autentiserats bör du se välkomstskärmen för sessionen.

  _____
  /  _  \ __________ _________   ____
 /  /_\  \___   /  |  \_  __ \_/ __ \
/    |    \/    /|  |  /|  | \/\  ___/
\____|__  /_____ \____/ |__|    \___  >
        \/      \/                  \/
A P P   S E R V I C E   O N   L I N U X

0e690efa93e2:~#

Nu är du ansluten till anslutningsappen.

Prova att köra det översta kommandot. Du bör kunna se appens process i processlistan. I exemplet nedan är det den med 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]

Nästa steg

Du kan publicera frågor och problem på Azure-forumet.

Mer information om Web App for Containers finns i: