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

Secure Shell (SSH) används ofta för att köra administrativa kommandon via fjärrstyrning från en kommandoradsterminal. App Service på Linux SSH-stöd i appcontainern.

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-anslutning

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

Se Konfigurera SSH i en anpassad container.

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

Anteckning

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

Med TCP-tunneltrafik kan du skapa en nätverksanslutning mellan utvecklingsdatorn och Web App for Containers över en autentiserad WebSocket-anslutning. Det gör att du kan öppna en SSH-session med din container som körs 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 <subscription-id> och för din <group-name> <app-name> app.

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

Tips

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

Anteckning

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

Kommandoutdata ger dig 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 till det skriver yes du för att fortsätta ansluta. Du uppmanas sedan att ange lösenordet. Använd Docker! , som visades 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 sessionens välkomstskärm.

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

0e690efa93e2:~#

Nu är du ansluten till din anslutningsapp.

Prova att köra det översta kommandot. Du bör kunna se appens process i processlistan. I exempelutdata nedan är det det som har 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 ställa frågor och problem i Azure-forumet.

Mer information om Web App for Containers finns i: