Azure App Service on Linux での SSH のサポートSSH support for Azure App Service on Linux

Secure Shell (SSH) は、一般にコマンド ライン ターミナルから管理コマンドをリモートで実行するために使用されます。Secure Shell (SSH) is commonly used to execute administrative commands remotely from a command-line terminal. App Service on Linux では、新しい Web アプリのランタイム スタックで使用される各組み込み Docker イメージで、アプリ コンテナーへの SSH をサポートしています。App Service on Linux provides SSH support into the app container with each of the built-in Docker images used for the Runtime Stack of new web apps.

ランタイム スタック

カスタム Docker イメージでは、カスタム イメージ内で SSH サーバーを構成します。For custom Docker images, by configuring SSH server in your custom image.

SSH と SFTP を使用して、ローカル開発マシンからコンテナーに直接接続することもできます。You can also connect to the container directly from your local development machine using SSH and SFTP.

ブラウザーで SSH セッションを開くOpen SSH session in browser

コンテナーとの直接 SSH セッションを開くには、アプリが実行されている必要があります。To make open a direct SSH session with your container, your app should be running.

ブラウザーに次の URL を貼り付け、<app-name> をお使いのアプリの名前に置き換えます。Paste the following URL into your browser and replace <app-name> with your app name:

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

まだ認証されていない場合、接続するには Azure サブスクリプションで認証する必要があります。If you're not yet authenticated, you're required to authenticate with your Azure subscription to connect. 認証されると、ブラウザー内シェルが表示され、コンテナー内でコマンドを実行することができます。Once authenticated, you see an in-browser shell, where you can run commands inside your container.

SSH 接続

カスタム Docker イメージで SSH サポートを使用するUse SSH support with custom Docker images

カスタム コンテナーでの SSH の構成に関するページを参照してください。See Configure SSH in a custom container.

リモート シェルから SSH セッションを開くOpen SSH session from remote shell

注意

現在、この機能はプレビュー段階にあります。This feature is currently in Preview.

TCP トンネリングを使用して、認証済みの WebSocket 接続経由で開発用マシンと Web App for Containers 間にネットワーク接続を作成できます。Using TCP tunneling you can create a network connection between your development machine and Web App for Containers over an authenticated WebSocket connection. これにより、任意のクライアントから App Service で実行されているコンテナーとの SSH セッションを開くことができます。It enables you to open an SSH session with your container running in App Service from the client of your choice.

最初に、Azure CLI をインストールする必要があります。To get started, you need to install Azure CLI. Azure CLI をインストールしないとどのように動作するかを確認するには、Azure Cloud Shell を開きます。To see how it works without installing Azure CLI, open Azure Cloud Shell.

az webapp remote-connection create コマンドを使用して、アプリへのリモート接続を開きます。Open a remote connection to your app using the az webapp remote-connection create command. お使いのアプリの <subscription-id><group-name> 、および _<app-name>_ を指定します。Specify <subscription-id>, <group-name> and _<app-name>_ for your app.

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

ヒント

コマンドの末尾の & は、Cloud Shell を使用している場合の便宜のためにあります。& at the end of the command is just for convenience if you are using Cloud Shell. 同じシェルで次のコマンドを実行できるように、プロセスをバック グラウンドで実行します。It runs the process in the background so that you can run the next command in the same shell.

コマンドの出力では、SSH セッションを開くために必要な情報が示されます。The command output gives you the information you need to open an SSH session.

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

ローカル ポートを使用して、任意のクライアントでコンテナーとの SSH セッションを開きます。Open an SSH session with your container with the client of your choice, using the local port. 次の例では、既定の ssh コマンドを使用しています。The following example uses the default ssh command:

ssh root@127.0.0.1 -p <port>

プロンプトが表示されたら、yes と入力して接続を続行します。When being prompted, type yes to continue connecting. パスワードを入力するように求められます。You are then prompted for the password. 前に示された Docker! を使用します。Use Docker!, which was shown to you earlier.

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

認証されると、セッションのようこそ画面が表示されます。Once you're authenticated, you should see the session welcome screen.

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

0e690efa93e2:~#

これでコネクタに接続されました。You are now connected to your connector.

top コマンドを実行してみます。Try running the top command. プロセスの一覧にアプリのプロセスが表示されます。You should be able to see your app's process in the process list. 次の出力例では、PID 263 のものです。In the example output below, it's the one with 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]

次の手順Next steps

質問や問題は、Azure フォーラムに投稿できます。You can post questions and concerns on the Azure forum.

Web App for Containers について詳しくは、以下をご覧ください。For more information on Web App for Containers, see: