Sdílet prostřednictvím


Otevření relace SSH ke kontejneru ve službě Aplikace Azure 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í. Relace SSH prostřednictvím Azure CLI se nepodporují.

Linux App Service SSH

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. Viz Povolení SSH.

Linux App Service SSH

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, vaše aplikace by měla být spuštěná.

Vložte následující adresu URL do vašeho prohlížeče a <app-name> nahraďte názvem vaší aplikace:

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

Pokud ještě nejste ověření, budete se muset ověřit s vaším předplatným Azure, abyste se mohli připojit. Po ověření se vám zobrazí prostředí prohlížeče, ve kterém můžete spouště příkazy uvnitř vašeho 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. Umožňuje 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 a <název> aplikace pro vaši aplikaci.

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

Tip

& 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, ujistěte se, že je vzdálené ladění zakázané pomocí následujícího příkazu:

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 s klientem podle vašeho výběru pomocí 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, stačí spustit:

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

Po zobrazení výzvy zadejte yes pokračovat v připojování. Zobrazí se výzva k zadání hesla. Použijte Docker!funkci , která se vám zobrazila 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 úvodní 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. Proces vaší aplikace by se měl zobrazit v seznamu procesů. V následujícím příkladu výstupu je to 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]

Další kroky

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

Další informace o službě Web App for Containers najdete tady: