Открытие сеанса SSH в контейнере в службе приложение Azure
Secure Shell (SSH) можно использовать для удаленного выполнения административных команд в контейнере. Служба приложений обеспечивает поддержку SSH напрямую в приложение, размещенное в контейнере.
Открытие сеанса SSH в браузере
Чтобы открыть прямой сеанс SSH с контейнером, необходимо запустить приложение.
Вставьте следующий URL-адрес в браузер и замените <app-name>
именем вашего приложения:
https://<app-name>.scm.azurewebsites.net/webssh/host
Если вы не прошли аутентификацию, это потребуется сделать, подключившись с помощью подписки Azure. После выполнения проверки подлинности отобразится оболочка в браузере. Здесь можно запускать команды внутри контейнера.
Вы также можете подключиться к контейнеру непосредственно из локального компьютера, где ведется разработка, используя SSH и SFTP.
Открытие сеанса SSH в браузере
Чтобы открыть прямой сеанс SSH с контейнером, необходимо запустить приложение.
Вставьте следующий URL-адрес в браузер и замените <app-name>
именем вашего приложения:
https://<app-name>.scm.azurewebsites.net/webssh/host
Если вы не прошли аутентификацию, это потребуется сделать, подключившись с помощью подписки Azure. После выполнения проверки подлинности отобразится оболочка в браузере. Здесь можно запускать команды внутри контейнера.
Применение поддержки 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.
Дополнительные сведения о платформе "Веб-приложения для контейнеров" см. в статьях: