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 a SSH diretamente em um aplicativo hospedado em um contêiner.

Abrir sessão SSH no browser

Para abrir uma sessão SSH direta com o seu contentor, a sua aplicação deve estar em execução.

Cole o seguinte URL no browser e substitua <app-name> pelo nome da aplicação:

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

Se ainda não estiver autenticado, é necessário fazê-lo com a sua subscrição do Azure para se ligar. Uma vez autenticado, pode ver uma shell no browser, na qual pode executar comandos dentro do seu contentor.

SSH connection

Linux App Service SSH

Você também pode se conectar ao contêiner diretamente de sua máquina de desenvolvimento local usando SSH e SFTP.

Abrir sessão SSH no browser

Para abrir uma sessão SSH direta com o seu contentor, a sua aplicação deve estar em execução.

Cole o seguinte URL no browser e substitua <app-name> pelo nome da aplicação:

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

Se ainda não estiver autenticado, é necessário fazê-lo com a sua subscrição do Azure para se ligar. Uma vez autenticado, pode ver uma shell no browser, na qual pode executar comandos dentro do seu contentor.

SSH connection

Use o suporte a SSH com imagens personalizadas do Docker

Consulte Configurar SSH em um contêiner personalizado.

Abrir sessão SSH a partir do shell remoto

Nota

Esta funcionalidade está atualmente em Pré-visualização.

Usando o túnel TCP, você pode criar uma conexão de rede entre sua máquina de desenvolvimento e o Web App for Containers por meio de uma conexão WebSocket autenticada. Ele permite que você abra uma sessão SSH com seu contêiner em execução no Serviço de Aplicativo a partir 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 o Azure Cloud Shell.

Abra uma conexão remota com seu aplicativo usando o comando az webapp create-remote-connection . Especifique a ID> da assinatura, <o nome do grupo e <o nome>> do aplicativo para seu aplicativo.<

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

Gorjeta

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

Nota

Se este comando falhar, certifique-se de que a depuração remota está desativada 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 necessárias 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 seu contêiner com o cliente de sua escolha, usando a porta local. O exemplo a seguir usa o comando ssh padrão:

ssh root@127.0.0.1 -p <port>

Ao ser solicitado, digite yes para continuar a conexão. Em seguida, ser-lhe-á solicitada a palavra-passe. Use Docker!, que foi mostrado a você anteriormente.

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

Depois de autenticado, você 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 ao seu conector.

Tente executar o comando superior . Você deve ser capaz de ver o processo do seu aplicativo na lista de processos. No exemplo de saída 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óximos passos

Você pode postar perguntas e preocupações no fórum do Azure.

Para obter mais informações sobre o Web App for Containers, consulte: