Sdílet prostřednictvím


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

Použijte příkaz az webapp ssh .

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í shell v prohlížeči, kde můžete spouště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, <> skupiny a 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, 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

Chcete-li spustit úplnou relaci SSH, jednoduše spusťte:

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

Až se zobrazí výzva, zadejte yes a pokračujte 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 uví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. Proces vaší aplikace by se měl zobrazit v seznamu procesů. V následujícím příkladu výstupu se jedná o 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]

Další kroky

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

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