Abrir uma sessão SSH em um contêiner no Serviço de Aplicativo do Azure

O Secure Shell (SSH) pode ser usado para executar comandos administrativos remotamente em um contêiner. O Serviço de Aplicativo fornece suporte de SSH direto para um aplicativo hospedado em um contêiner.

Abra a sessão SSH aberta no navegador

Para abrir uma sessão SSH direta com seu contêiner, seu aplicativo deve estar em execução.

Cole a seguinte URL no seu navegador e substitua <app-name> pelo nome do aplicativo:

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

Se você ainda não estiver autenticado, será necessário autenticar com sua assinatura do Azure para se conectar. Uma vez autenticado, consulte um shell no navegador, onde você pode executar comandos dentro de seu contêiner.

SSH connection

Linux App Service SSH

Você também pode se conectar ao contêiner diretamente do seu computador de desenvolvimento local usando o SSH e SFTP.

Abra a sessão SSH aberta no navegador

Para abrir uma sessão SSH direta com seu contêiner, seu aplicativo deve estar em execução.

Cole a seguinte URL no seu navegador e substitua <app-name> pelo nome do aplicativo:

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

Se você ainda não estiver autenticado, será necessário autenticar com sua assinatura do Azure para se conectar. Uma vez autenticado, consulte um shell no navegador, onde você pode executar comandos dentro de seu contêiner.

SSH connection

Use o suporte de SSH com imagens personalizadas do Docker

Consulte Configurar SSH em um contêiner personalizado.

Abrir sessão SSH de shell remoto

Observação

Esse recurso está atualmente em versão prévia.

Usando o túnel TCP, você pode criar uma conexão de rede entre o computador de desenvolvimento e o Aplicativo Web para contêineres em uma conexão autenticada do WebSocket. Isso permite que você abra uma sessão SSH com o contêiner em execução no serviço de Serviço de Aplicativo do Azure do cliente de sua escolha.

Para começar, você precisa instalar a CLI do Azure. Para ver como funciona sem instalar a CLI do Azure, abra Azure Cloud Shell.

Abra uma conexão remota para seu aplicativo usando o comando criar az webapp remoto-conexão. Especifique <subscription-id>, <group-name> e <app-name> para o aplicativo.

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

Dica

& no final do comando é apenas para conveniência, se você estiver usando o Azure Cloud Shell. Executa o processo em segundo plano para que você possa executar o próximo comando no mesmo shell.

Observação

Se esse comando falhar, verifique se a depuração remota está desabilitada com o seguinte comando:

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

A saída do comando fornece as informações que você precisa para abrir uma sessão SSH.

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

Abra uma sessão SSH com o contêiner com o cliente de sua escolha, usando a porta local. O exemplo a seguir usa o comando padrão ssh:

ssh root@127.0.0.1 -p <port>

Ao ser solicitado, digite yes para continuar a se conectar. Você receberá uma solicitação de senha. Use Docker!, que foi mostrado anteriormente.

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

Ao autenticar, você deverá ver a tela de boas-vindas da sessão.

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

0e690efa93e2:~#

Agora você está conectado a seu conector.

Tente executar o comando novamente top. Você deve ser capaz de ver o processo do aplicativo na lista de processos. No exemplo abaixo, é aquele com 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]

Próximas etapas

Você pode postar perguntas e problemas no fórum do Azure.

Para obter mais informações sobre o aplicativo Web para contêineres, consulte: