Otevřete relaci SSH ke kontejneru ve službě Azure App Service

Secure Shell (SSH) se dá použít ke vzdálenému spouštění příkazů pro správu do kontejneru. App Service poskytuje podporu SSH přímo do aplikace hostované ve vlastním kontejneru Windows.

Vlastní kontejnery Windows nevyžadují pro fungování relace SSH prohlížeče žádná speciální nastavení.

Secure Shell (SSH) se dá použít ke vzdálenému spouštění příkazů pro správu do kontejneru. App Service poskytuje podporu SSH přímo do aplikace hostované v kontejneru Linuxu (integrovaném nebo vlastním).

Integrované kontejnery Linuxu už mají potřebnou konfiguraci pro povolení relací SSH. Vlastní kontejnery Linuxu vyžadují další konfigurace pro povolení relací SSH. Další informace najdete v tématu Povolení SSH.

Snímek obrazovky znázorňující SSH služby App Service

Relace SSH prostřednictvím Azure CLI se nepodporují pro plány služby Windows App Service. Podporovány jsou pouze plány App Service pro Linux.

Ke kontejneru se také můžete připojit přímo z místního vývojového počítače pomocí SSH a SFTP.

Otevření relace SSH v prohlížeči

Pokud chcete otevřít přímou relaci SSH s kontejnerem, měla by být vaše aplikace spuštěná.

Použijte příkaz az webapp ssh .

Pokud nejste ověřeni, musíte se ověřit ve svém předplatném Azure, abyste se mohli připojit. Po ověření se zobrazí prostředí v prohlížeči, ve kterém můžete spouštět příkazy v kontejneru.

Připojení SSH

Otevření relace SSH pomocí Azure CLI

Pomocí tunelového propojení TCP můžete vytvořit síťové připojení mezi vývojovým počítačem a kontejnery Linuxu přes ověřené připojení WebSocket. Pak můžete otevřít relaci SSH s kontejnerem spuštěným ve službě App Service z libovolného klienta.

Abyste mohli začít, musíte nainstalovat Azure CLI. Pokud chcete zjistit, jak funguje bez instalace Azure CLI, otevřete Azure Cloud Shell.

Pomocí příkazu az webapp create-remote-connection otevřete vzdálené připojení k aplikaci. Zadejte <ID> předplatného, <název> skupiny prostředků a <název> aplikace pro vaši aplikaci.

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

Návod

& na konci příkazu je pro usnadnění práce, pokud používáte Cloud Shell. Spustí proces na pozadí, abyste mohli spustit další příkaz ve stejném prostředí.

Poznámka:

Pokud tento příkaz selže, pomocí následujícího příkazu se ujistěte, že je vzdálené laděnízakázané :

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

Výstup příkazu vám poskytne informace, které potřebujete k otevření relace 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

Otevřete relaci SSH s kontejnerem pomocí klienta podle vašeho výběru prostřednictvím místního portu zadaného ve výstupu (<port-output>). Například pomocí příkazu Linux ssh můžete spustit jeden příkaz, například java -version:

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

Pokud chcete také zadat úplnou relaci SSH, spusťte:

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

Po zobrazení výzvy zadejte yes , abyste mohli pokračovat v připojování. Zobrazí se výzva k zadání hesla. Použijte Docker!, které vám bylo ukázáno dříve.

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

Po ověření by se měla zobrazit vítací obrazovka relace.

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

0e690efa93e2:~#

Teď jste připojení ke svému konektoru.

Zkuste spustit horní příkaz.

top

Proces vaší aplikace by se měl zobrazit v seznamu procesů. V ukázkovém výstupu je to ten s 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]

Dotazy a obavy můžete publikovat na fóru Azure.

Další informace o službě App Service pro kontejnery najdete tady: