If you are seeing UNREACHABLE! when running Ansible, here is how to fix it.
What This Error Means
Ansible cannot connect to the target host via SSH. Wrong IP, SSH key mismatch, or firewall blocking port 22.
Quick Diagnosis
# Run with verbose output
ansible-playbook playbook.yml -vvv
# Syntax check first
ansible-playbook playbook.yml --syntax-check
# Check in dry-run mode
ansible-playbook playbook.yml --check --diffHow to Fix It
Step 1: Identify the Root Cause
The -vvv output will show you exactly where the error occurs and what went wrong.
Step 2: Apply the Fix
Ansible cannot connect to the target host via SSH. Wrong IP, SSH key mismatch, or firewall blocking port 22.
Review your playbook, inventory, and variable files. Test with --check before applying.
Step 3: Verify
# Run again and confirm no errors
ansible-playbook playbook.yml
# Should complete with 0 failuresPrevention Tips
- Always use
--syntax-checkbefore running playbooks - Use
ansible-lintto catch common mistakes - Test with Molecule before deploying to production
- Use FQCNs (Fully Qualified Collection Names) for all modules
- Keep Ansible and collections updated

