Open een SSH-sessie naar een Linux-container in Azure App Service

Secure Shell (SSH) wordt vaak gebruikt om beheeropdrachten op afstand uit te voeren vanuit een opdrachtregelterminal. App Service op Linux biedt SSH-ondersteuning in de app-container.

Linux App Service SSH

U kunt ook rechtstreeks vanaf uw lokale ontwikkelmachine verbinding maken met de container met behulp van SSH en SFTP.

SSH-sessie in de browser openen

Als u een directe SSH-sessie opent met uw container, moet uw app worden uitgevoerd.

Plak de volgende URL in uw browser en vervang <app-name> door de naam van uw app:

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

Als u nog niet bent geverifieerd moet u zich verifiëren met uw Azure-abonnement om verbinding te maken. Nadat u bent geverifieerd, ziet u een shell in de browser waarin u opdrachten binnen uw container kunt uitvoeren.

SSH-verbinding

SSH-ondersteuning gebruiken met aangepaste Docker-afbeeldingen

Zie SSH configureren in een aangepaste container.

SSH-sessie openen vanuit externe shell

Notitie

Deze functie is momenteel beschikbaar als preview-versie.

Met TCP-tunneling kunt u een netwerkverbinding maken tussen uw ontwikkelmachine en Web App for Containers via een geverifieerde WebSocket-verbinding. Hiermee kunt u een SSH-sessie openen met uw container die wordt uitgevoerd in App Service van de client van uw keuze.

Om aan de slag te gaan, moet u Azure CLI installeren. Als u wilt zien hoe het werkt zonder Azure CLI te installeren, opent u Azure Cloud Shell.

Open een externe verbinding met uw app met behulp van de opdracht az webapp create-remote-connection. Geef <subscription-id> en op voor uw <group-name> <app-name> app.

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

Tip

& aan het einde van de opdracht is alleen voor het gemak als u Cloud Shell. Het proces wordt op de achtergrond uitgevoerd, zodat u de volgende opdracht in dezelfde shell kunt uitvoeren.

Notitie

Als deze opdracht mislukt, zorgt u ervoor dat externe foutopsporing is uitgeschakeld met de volgende opdracht:

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

De uitvoer van de opdracht geeft u de informatie die u nodig hebt om een SSH-sessie te openen.

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

Open een SSH-sessie met uw container met de client van uw keuze, met behulp van de lokale poort. In het volgende voorbeeld wordt de standaard-ssh-opdracht gebruikt:

ssh root@127.0.0.1 -p <port>

Wanneer u hier om wordt gevraagd, typt yes u om door te gaan met het maken van verbinding. Vervolgens wordt u om het wachtwoord gevraagd. Gebruik Docker! , dat eerder voor u is weergegeven.

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

Nadat u bent geverifieerd, ziet u het welkomstscherm van de sessie.

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

0e690efa93e2:~#

U bent nu verbonden met uw connector.

Voer de bovenste opdracht uit. U zou het proces van uw app in de proceslijst moeten kunnen zien. In de onderstaande voorbeelduitvoer is dit de uitvoer met 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]

Volgende stappen

U kunt vragen en zorgen posten op het Azure-forum.

Voor meer informatie over Web App for Containers, zie: