Ouvrir une session SSH sur un conteneur dans Azure App Service
Secure Shell (SSH) peut être utilisé pour exécuter des commandes d’administration à distance dans un conteneur. App Service fournit une prise en charge SSH directe dans une application hébergée dans un conteneur.
Ouvrir une session SSH dans un navigateur
Pour établir une session SSH directe avec votre conteneur, votre application doit être en cours d’exécution.
Collez l’URL suivante dans votre navigateur et remplacez <app-name>
par le nom de votre application :
https://<app-name>.scm.azurewebsites.net/webssh/host
Si vous n’êtes pas encore authentifié, vous devez le faire avec votre abonnement Azure pour vous connecter. Une fois authentifié, vous voyez un interpréteur de commandes dans le navigateur, vous permettant d’exécuter des commandes à l’intérieur de votre conteneur.
Vous pouvez également vous connecter au conteneur directement à partir de votre machine de développement locale par SSH et SFTP.
Ouvrir une session SSH dans un navigateur
Pour établir une session SSH directe avec votre conteneur, votre application doit être en cours d’exécution.
Collez l’URL suivante dans votre navigateur et remplacez <app-name>
par le nom de votre application :
https://<app-name>.scm.azurewebsites.net/webssh/host
Si vous n’êtes pas encore authentifié, vous devez le faire avec votre abonnement Azure pour vous connecter. Une fois authentifié, vous voyez un interpréteur de commandes dans le navigateur, vous permettant d’exécuter des commandes à l’intérieur de votre conteneur.
Utiliser la prise en charge SSH avec des images Docker personnalisées
Consultez Configurer SSH dans un conteneur personnalisé.
Ouvrir une session SSH à partir d’un interpréteur de commandes à distance
Notes
Cette fonctionnalité est actuellement en préversion.
À l’aide du tunneling TCP, vous pouvez créer une connexion réseau entre votre machine de développement et Web App pour conteneurs via une connexion WebSocket authentifiée. Il vous permet d’ouvrir une session SSH avec votre conteneur en cours d’exécution dans App Service à partir du client de votre choix.
Pour commencer, vous devez installer Azure CLI. Pour voir comment il fonctionne sans installer Azure CLI, ouvrez Azure Cloud Shell.
Ouvrez une connexion à distance vers votre application à l’aide de la commande az webapp create-remote-connection. Spécifiez <id-abonnement>, <nom-groupe> et <nom-application> pour votre application.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
Conseil
&
à la fin de la commande est simplement présent pour des raisons pratiques si vous utilisez Cloud Shell. Il exécute le processus en arrière-plan afin que vous puissiez exécuter la commande suivante dans le même interpréteur de commandes.
Notes
Si cette commande échoue, vérifiez que le débogage à distance est désactivé à l’aide de la commande suivante :
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
La sortie de commande vous donne les informations dont vous avez besoin pour ouvrir une session SSH.
Port 21382 is open
SSH is available { username: root, password: Docker! }
Start your favorite client and connect to port 21382
Ouvrez une session SSH avec votre conteneur au moyen du client de votre choix, en utilisant le port local. L’exemple suivant utilise la commande ssh par défaut :
ssh root@127.0.0.1 -p <port>
Lorsque cela vous est demandé, tapez yes
pour poursuivre la connexion. Vous êtes alors invité à entrer le mot de passe. Utilisez Docker!
, qui vous a été indiqué précédemment.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
Une fois authentifié, vous devez voir l’écran d’accueil de session.
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X 0e690efa93e2:~#
Vous êtes maintenant connecté à votre connecteur.
Essayez d’exécuter la commande top. Vous devez être en mesure de voir les processus de votre application dans la liste des processus. Dans l’exemple ci-dessous, il s’agit de celui avec 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]
Étapes suivantes
Vous pouvez poser des questions et signaler vos préoccupations sur le forum Azure.
Pour plus d’informations sur Web App pour conteneurs, consultez :