ITFabricLab ouvre bientôt : les labs, simulations et examens ne sont pas encore accessibles. Vous pouvez parcourir le catalogue et créer votre compte pour être prévenu de l'ouverture.
Sévérité : ÉlevéeAzure Virtual Machines

Azure — RDP ou SSH impossible vers une VM

```text
ssh: connect to host 10.20.1.4 port 22: Connection timed out
Remote Desktop can't connect to the remote computer
```

Détecter

La connexion RDP (3389) ou SSH (22) vers une VM Azure expire ou est refusée ; la VM apparaît « en cours d'exécution » dans le portail.

Symptômes

La connexion RDP (3389) ou SSH (22) vers une VM Azure expire ou est refusée ; la VM apparaît « en cours d'exécution » dans le portail.

Environnement

VM Windows ou Linux dans un VNet, NSG sur la carte réseau et/ou le sous-réseau, accès par Azure Bastion, VPN ou IP publique.

Cause racine

Le flux est bloqué à l'une des couches : nom ou IP incorrect, route (UDR vers un pare-feu), NSG (règle manquante ou Deny prioritaire, aux deux niveaux carte et sous-réseau), pare-feu de l'OS, service RDP/SSH arrêté, ou identité (compte verrouillé, clé SSH absente). « Timeout » oriente vers le réseau ; « connexion refusée » vers le service.

Diagnostic

  1. Périmètre : une seule VM ou toutes ? depuis quel réseau ? depuis quand (changement récent) ?
  2. Plateforme : état de la VM, Resource Health, Service Health.
  3. Réseau : az network watcher test-ip-flow (quelle règle NSG décide), Connection troubleshoot, routes effectives de la carte réseau.
  4. Hôte : diagnostics de démarrage (capture d'écran, console série), Run Command pour vérifier le service (systemctl status ssh, Get-Service TermService) et le pare-feu local.
  5. Identité : compte, mot de passe, clé publique, groupe « Utilisateurs du Bureau à distance ».

Solution

Corriger uniquement la couche fautive : règle NSG ciblée (source restreinte, jamais Internet entier pour 22/3389), route, service redémarré, ou réinitialisation de l'accès par l'extension VMAccess (az vm user update). Préférer Azure Bastion ou le VPN à une IP publique.

Commandes

az vm get-instance-view -g rg-app -n vm-app-01 --query instanceView.statuses[1].displayStatus
az network watcher test-ip-flow --vm vm-app-01 -g rg-app --direction Inbound --protocol TCP --local 10.20.1.4:22 --remote 10.30.0.5:50000
az network nic show-effective-route-table -g rg-app -n vm-app-01-nic -o table
az vm run-command invoke -g rg-app -n vm-app-01 --command-id RunShellScript --scripts "systemctl status ssh"
az vm user update -g rg-app -n vm-app-01 -u azureuser --ssh-key-value ~/.ssh/id_ed25519.pub

Prévention

Bastion ou accès juste-à-temps (JIT) de Defender for Cloud, NSG en IaC relus, supervision du service d'accès, procédure documentée.