Открытие сеанса SSH в контейнере в службе приложение Azure

Secure Shell (SSH) можно использовать для удаленного выполнения административных команд в контейнере. Служба приложений обеспечивает поддержку 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. Это позволяет открыть из необходимого клиента сеанс 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.

Дополнительные сведения о платформе "Веб-приложения для контейнеров" см. в статьях: