Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Secure Shell (SSH) se puede usar para ejecutar comandos administrativos de forma remota en un contenedor. App Service proporciona compatibilidad con SSH directamente en una aplicación hospedada en un contenedor personalizado de Windows.
Los contenedores personalizados de Windows no requieren ninguna configuración especial para que funcione la sesión SSH del explorador.
Secure Shell (SSH) se puede usar para ejecutar comandos administrativos de forma remota en un contenedor. App Service proporciona compatibilidad con SSH directamente en una aplicación hospedada en un contenedor de Linux (integrado o personalizado).
Los contenedores integrados de Linux ya tienen la configuración necesaria para habilitar las sesiones SSH. Los contenedores personalizados de Linux requieren configuraciones adicionales para habilitar sesiones SSH. Para más información, consulte Habilitación de SSH.
Las sesiones SSH a través de la CLI de Azure no se admiten para los planes de Windows App Service. Solo se admiten los planes de App Service de Linux.
También puede conectarse al contenedor directamente desde la máquina de desarrollo local mediante SSH y SFTP.
Abrir sesión SSH en el explorador
Si desea abrir una sesión SSH directa con el contenedor, la aplicación debe ejecutarse.
Use el comando az webapp ssh .
Si no está autenticado, debe autenticarse con su suscripción de Azure para conectarse. Cuando se autentica, verá un shell en el explorador donde puede ejecutar comandos dentro del contenedor.
Abrir una sesión de SSH con la CLI de Azure
Mediante la tunelización TCP, puede crear una conexión de red entre el equipo de desarrollo y los contenedores de Linux a través de una conexión WebSocket autenticada. Después, puede abrir una sesión SSH con su contenedor en ejecución en App Service desde el cliente de su elección.
Para empezar, debe instalar la CLI de Azure. Para ver cómo funciona sin instalar la CLI de Azure, abra Azure Cloud Shell.
Abra una conexión remota a la aplicación mediante el comando az webapp create-remote-connection . Especifique <subscription-id>, <resource-group-name> y <app-name> para la aplicación.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
Sugerencia
& al final del comando es solo para conveniencia si está utilizando Cloud Shell. El proceso se ejecuta en segundo plano, por lo que puede ejecutar el siguiente comando en el mismo shell.
Nota
Si se produce un error en este comando, asegúrese de que la depuración remota está deshabilitada mediante el comando siguiente:
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
La salida del comando le ofrece la información necesaria para abrir una sesión SSH.
Verifying if app is running....
App is running. Trying to establish tunnel connection...
Opening tunnel on addr: 127.0.0.1
Opening tunnel on port: <port-output>
SSH is available { username: root, password: Docker! }
Ctrl + C to close
Abra una sesión SSH con el contenedor mediante el cliente que prefiera, a través del puerto local proporcionado en la salida (<port-output>). Por ejemplo, con el comando ssh de Linux, puede ejecutar un único comando como java -version:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version
O, para iniciar una sesión SSH completa, ejecute:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>
Cuando se le solicite, escriba yes para continuar con la conexión. A continuación, se le pedirá la contraseña. Use Docker!, que ya se ha mostrado antes.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
Después de autenticarse, debería ver la pantalla de bienvenida de la sesión.
_____
/ _ \ __________ _________ ____
/ /_\ \___ / | \_ __ \_/ __ \
/ | \/ /| | /| | \/\ ___/
\____|__ /_____ \____/ |__| \___ >
\/ \/ \/
A P P S E R V I C E O N L I N U X
0e690efa93e2:~#
Ahora está conectado al conector.
Intente ejecutar el comandotop.
top
Debe poder ver el proceso de la aplicación en la lista de procesos. En la salida del ejemplo, es el marcado con 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]
Contenido relacionado
Puede publicar preguntas y problemas en el foro de Azure.
Para más información sobre App Service para contenedores, consulte:
- Introducing remote debugging of Node.js apps on Azure App Service from VS Code (Introducción a la depuración remota de aplicaciones de Node.js en Azure App Service desde VS Code)
- Inicio rápido: Ejecución de un contenedor personalizado en App Service
- Peguntas más frecuentes sobre Azure App Service en Linux