安全殼層 (SSH) 可用於從遠端執行容器的管理指令。 App Service 提供直接透過 SSH 連線至託管在 Windows 自訂容器中的應用程式的功能。
Windows 自訂容器不需要任何特殊設定,即可讓瀏覽器 SSH 工作階段運作。 不支援透過 Azure CLI 的 SSH 工作階段。
安全殼層 (SSH) 可用於從遠端執行容器的管理指令。 App Service 提供直接透過 SSH 連線至託管在 Linux 容器 (內建或自訂) 中的應用程式的功能。
內建的 Linux 容器已具備啟用 SSH 工作階段的必要設定。 Linux 自訂容器需要額外的設定,才能啟用 SSH 工作階段。 請參閱 啟用 SSH。
您也可以使用 SSH 和 SFTP,直接從本機開發電腦連線到容器。
在瀏覽器中開啟 SSH 工作階段
如果您想要透過容器直接開啟 SSH 工作階段,您的應用程式應在執行中。
使用 az webapp ssh 命令。
如果您未經過驗證,則必須向您的 Azure 訂用帳戶進行驗證才能連線。 經過驗證後,您會看到瀏覽器中的殼層,您可以在其中執行您容器內的命令。
使用 Azure CLI 開啟 SSH 工作階段
使用 TCP 通道,您可以透過已驗證的 WebSocket 連線,在您的開發電腦與 Linux 容器之間建立網路連線。 它可讓您從所選的用戶端,開啟您的容器在 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 工作階段所需的資訊。
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
使用輸出 (<port-output>) 中提供的本機連接埠,以您所選的用戶端開啟包含您的容器的 SSH 工作階段。 例如,使用 linux ssh 命令,您可以執行單一命令,例如 java -version:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version
或者,若要輸入完整的 SSH 工作階段,請直接執行:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>
在出現提示時,輸入 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:~#
您現在已連線到您的連接器。
請嘗試執行 頂端 命令。 您應能夠在程序清單中看到您應用程式的程序。 在下列範例輸出中,它是具有 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」的詳細資訊,請參閱: