Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Get Azure VM and VM Scale Set recommendations based on workload, performance, and budget needs.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
workflows/vm-troubleshooter/references/ssh-connectivity.md
1# Unable to SSH into the VM23User is trying to SSH into a Linux VM but the connection fails.45## Symptoms → Solutions67| Symptom | Solution | Documentation |8| ------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |9| "Connection refused" on port 22 | SSH service not running or listening on a different port | [Troubleshoot SSH connection](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/troubleshoot-ssh-connection) |10| "Connection timed out" | NSG blocking port 22, VM not running, or no public IP | [Troubleshoot SSH connection](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/troubleshoot-ssh-connection) |11| "Permission denied (publickey)" | Wrong SSH key, wrong user, or key not in authorized_keys | [Detailed SSH troubleshooting](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/detailed-troubleshoot-ssh-connection) |12| "Permission denied (password)" | Wrong password or password auth disabled in sshd_config | [Detailed SSH troubleshooting](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/detailed-troubleshoot-ssh-connection) |13| "Host key verification failed" | VM was redeployed and got a new host key | Remove old entry from `~/.ssh/known_hosts` |14| "Server unexpectedly closed connection" | Disk full, SSH config error, or PAM issue | [Detailed SSH troubleshooting](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/detailed-troubleshoot-ssh-connection) |15| SSH hangs with no response | Firewall (iptables/firewalld), routing, or NIC issue | [Troubleshoot SSH connection](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/troubleshoot-ssh-connection) |16| Cannot SSH into Debian Linux VM | Debian-specific network or sshd config issue | [Cannot connect to Debian Linux VM](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/cannot-connect-debian-linux) |17| SSH blocked after SELinux policy change | SELinux misconfigured — blocking sshd | [SELinux troubleshooting](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/linux-selinux-troubleshooting) |18| "Permission denied" with Entra ID (AAD) SSH login | Missing role assignment: Virtual Machine Administrator Login or Virtual Machine User Login | [Troubleshoot SSH connection](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/troubleshoot-ssh-connection) |19| Linux VM not booting — UEFI boot failure | Gen2 VM UEFI boot issue preventing SSH | [Linux VM UEFI boot failures](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/azure-linux-vm-uefi-boot-failures) |2021## Quick Commands2223> ⚠️ **Warning:** Commands marked with ⚡ use the VM agent/extensions. Run [Pre-Flight Safety Checks](cannot-connect-to-vm.md#pre-flight-safety-checks) before using them.2425```bash26# ⚡ Reset SSH configuration to defaults (resets sshd_config, restarts sshd)27az vm user reset-ssh --name <vm-name> -g <resource-group>2829# ⚡ Reset SSH public key for a user30az vm user update --name <vm-name> -g <resource-group> \31-u <username> --ssh-key-value "<ssh-public-key>"3233# ⚡ Reset password for Linux VM34az vm user update --name <vm-name> -g <resource-group> \35-u <username> -p '<new-password>'3637# ⚡ Check if sshd is running via Run Command38az vm run-command invoke --name <vm-name> -g <resource-group> \39--command-id RunShellScript --scripts "systemctl status sshd"4041# ⚡ Check SELinux status via Run Command42az vm run-command invoke --name <vm-name> -g <resource-group> \43--command-id RunShellScript --scripts "getenforce"4445# ⚡ Set SELinux to permissive mode (temporary — survives until reboot)46az vm run-command invoke --name <vm-name> -g <resource-group> \47--command-id RunShellScript --scripts "setenforce 0"48```4950## General SSH Troubleshooting5152If the symptom doesn't match a specific row above, follow Microsoft's systematic approach:5354- [Troubleshoot SSH connections to an Azure Linux VM](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/troubleshoot-ssh-connection)55- [Detailed SSH troubleshooting steps](https://learn.microsoft.com/en-us/troubleshoot/azure/virtual-machines/linux/detailed-troubleshoot-ssh-connection)56