# ssh: connect to host x port 22: Connection refused

**Code:** `ssh port 22 Connection refused` · **Category:** Linux · **Seen on:** Linux

The server answered, but nothing is listening on the SSH port — sshd isn’t running, it uses another port, or a firewall actively rejects.

## Meaning

“Refused” means a reset came back, so the host is reachable. Usually sshd isn’t installed/started (fresh VM, container), listens on a custom port, or fail2ban/ufw rejects your IP.

## Common causes

- sshd not installed or not running
- SSH listening on a non-default port
- Firewall rule rejecting (REJECT) your IP, or fail2ban ban
- Connecting to the wrong host/IP

## Quick fix

1. Check from the console: systemctl status ssh
2. Use the right port: ssh -p 2222 user@host
3. Check ufw/fail2ban for your IP

## Detailed fix by platform

### Linux

1. 

```bash
sudo systemctl enable --now ssh   # sshd on RHEL
sudo ss -ltnp | grep ssh
sudo fail2ban-client status sshd
```


## How to diagnose

1. **Service** — sshd running?
2. **Port** — Listening port
3. **Firewall** — ufw status / fail2ban banned IPs

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/linux/ssh-connection-refused)
