Delen via


Een SSH-sessie openen naar een container in Azure-app Service

Secure Shell (SSH) kan worden gebruikt om beheeropdrachten op afstand uit te voeren naar een container. App Service biedt SSH-ondersteuning rechtstreeks in een app die wordt gehost in een aangepaste Windows-container.

Voor aangepaste Windows-containers zijn geen speciale instellingen vereist voor de SSH-sessie van de browser.

Secure Shell (SSH) kan worden gebruikt om beheeropdrachten op afstand uit te voeren naar een container. App Service biedt SSH-ondersteuning rechtstreeks in een app die wordt gehost in een Linux-container (ingebouwd of aangepast).

De ingebouwde Linux-containers hebben al de benodigde configuratie om SSH-sessies in te schakelen. Voor aangepaste Linux-containers zijn aanvullende configuraties vereist om SSH-sessies in te schakelen. Zie SSH inschakelen voor meer informatie.

Schermopname van de App Service SSH.

SSH-sessies via de Azure CLI worden niet ondersteund voor Windows App Service-abonnementen. Alleen Linux App Service-abonnementen worden ondersteund.

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

SSH-sessie in de browser openen

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

Gebruik de opdracht az webapp ssh .

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

SSH-verbinding

SSH-sessie openen met Azure CLI

Met TCP-tunneling kunt u een netwerkverbinding maken tussen uw ontwikkelcomputer en Linux-containers via een geverifieerde WebSocket-verbinding. U kunt vervolgens een SSH-sessie openen met uw container die wordt uitgevoerd in App Service vanaf de client van uw keuze.

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

Open een externe verbinding met uw app met behulp van de opdracht az webapp create-remote-connection . Geef <de abonnements-id>, <resourcegroepnaam> en <app-naam> voor uw app op.

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

Aanbeveling

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

Notitie

Als deze opdracht mislukt, controleert u of externe foutopsporing is uitgeschakeld met behulp van 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.

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

Open een SSH-sessie met uw container met behulp van de client van uw keuze, via de lokale poort in de uitvoer (<port-output>). Met de Opdracht Linux ssh kunt u bijvoorbeeld één opdracht uitvoeren, zoals java -version:

ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version

Als u een volledige SSH-sessie wilt invoeren, voert u het volgende uit:

ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>

Wanneer u hierom wordt gevraagd, typt u yes om door te gaan met verbinding maken. Vervolgens wordt u om het wachtwoord gevraagd. Gebruik Docker!, dat eerder aan u is getoond.

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.

top

U moet het proces van uw app in de proceslijst kunnen zien. In de voorbeelduitvoer is het de versie 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]

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

Zie voor meer informatie over App Service voor containers: