在 Azure App Service 中開啟容器的 SSH 工作階段

安全殼層 (SSH) 可用來從遠端對容器執行系統管理命令。 App Service 會將 SSH 支援直接提供給於容器中裝載的應用程式。

在瀏覽器中開啟 SSH 工作階段

若要透過容器直接開啟 SSH 工作階段,您的應用程式應在執行中。

在瀏覽器中貼入下列 URL,並以您的應用程式名稱取代 <app-name>

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

如果您尚未經過驗證,必須向您的 Azure 訂用帳戶進行驗證才能連線。 驗證之後,您會看到瀏覽器中的殼層,您可以在其中執行您容器內的命令。

SSH connection

Linux App Service SSH

您也可以使用 SSH 和 SFTP,直接從本機開發電腦連線到容器。

在瀏覽器中開啟 SSH 工作階段

若要透過容器直接開啟 SSH 工作階段,您的應用程式應在執行中。

在瀏覽器中貼入下列 URL,並以您的應用程式名稱取代 <app-name>

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

如果您尚未經過驗證,必須向您的 Azure 訂用帳戶進行驗證才能連線。 驗證之後,您會看到瀏覽器中的殼層,您可以在其中執行您容器內的命令。

SSH connection

使用 SSH 支援搭配自訂 Docker 映像

請參閱在自訂容器中設定 SSH

從遠端殼層開啟 SSH 工作階段

注意

此功能目前為預覽狀態。

使用 TCP 通道,您可以透過已驗證的 WebSocket 連線,在您的開發電腦與「用於容器的 Web App」之間建立網路連線。 它可讓您從所選的用戶端,開啟您的容器在 App Service 中執行的 SSH 工作階段。

若要開始,您必須安裝 Azure CLI。 若要查看未安裝 Azure CLI 時的運作方式,請開啟 Azure Cloud Shell

使用 az webapp create-remote-connection 命令,開啟您應用程式的遠端連線。 為您的應用程式指定 <subscription-id><group-name><app-name>

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

提示

命令尾端的 & 只是為了方便您使用 Cloud Shell。 它會在背景執行程序,以便您在相同的殼層中執行下一個命令。

注意

如果此命令失敗,請確定使用下列命令停用遠端偵錯

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

命令輸出會為您提供開啟 SSH 工作階段所需的資訊。

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

使用本機連接埠,以您所選的用戶端開啟包含您的容器的 SSH 工作階段。 下列範例會使用預設 ssh 命令:

ssh root@127.0.0.1 -p <port>

在出現提示時,輸入 yes 繼續連線。 系統會接著提示您輸入密碼。 使用稍早所示的 Docker!

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

驗證後,您應會看到工作階段歡迎畫面。

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

0e690efa93e2:~#

您現在已連線到您的連接器。

嘗試執行 top 命令。 您應能夠在程序清單中看到您應用程式的程序。 在下列範例輸出中,它是具有 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]

下一步

您可以在 Azure 論壇張貼問題和疑難。

如需「用於容器的 Web App」的詳細資訊,請參閱: