# SSH bağlantı sorunlarını çözün: refused, timed out, denied

> Sık SSH hatalarını çözün: Connection refused, Connection timed out, Permission denied (publickey), değişen host anahtarı ve Too many authentication failures.

Zorluk: Başlangıç\
Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13, Windows 11, macOS Tahoe 26

SSH hataları birbirine benzer, ama her biri farklı bir katmanı gösterir: ağ yolu, sunucudaki SSH servisi veya girişin kendisi. Gördüğünüz mesajı bulun, kontrolleri yapın ve çözümü uygulayın. Örneklerde `203.0.113.10` yerine sunucunuzun adresini, `alex` yerine kullanıcınızı yazın.

## Başlamadan önce

- Sunucunun çalıştığından emin olun: durumunu **Hizmetler › Ürünlerim** altında, bilinen kesintileri **Destek › Sunucu/Ağ Durumu** sayfasında kontrol edin.
- Sunucuda bir şeyi düzeltmeniz gerekirse diye ikinci bir giriş yolu hazır tutun: hizmet sayfanızda görünüyorsa web konsolu ya da dedicated planınız içeriyorsa IPMI.
- Denemenin ayrıntılı kaydını alın; cevapların çoğu buradadır:

```bash
ssh -vvv alex@203.0.113.10
```

## Hızlı test: porta ulaşılabiliyor mu?

**Linux ve macOS**

```bash
nc -vz 203.0.113.10 22
```
**Windows**

```powershell
Test-NetConnection 203.0.113.10 -Port 22
```

**Succeeded / open**, ağ yolunun ve SSH servisinin sorunsuz olduğu anlamına gelir; aşağıdaki giriş hatalarına bakın. **Refused** SSH servisini, **timed out** ağı veya bir güvenlik duvarını işaret eder.

## `ssh: connect to host … port 22: Connection timed out`

Hiçbir yanıt gelmiyor. Olasılık sırasına göre nedenler:

1. **Yanlış adres veya port.** Hizmet sayfasındaki **Birincil IP** ile karşılaştırın. SSH'yi başka bir porta taşıdıysanız `ssh -p 2222 alex@203.0.113.10` ile bağlanın.
2. **Bir güvenlik duvarı trafiği düşürüyor.** Sunucuda (ufw, nftables), ofisinizde veya ağınızda. Mobil erişim noktası gibi başka bir ağ deneyin. Orada çalışıyorsa kendi ağınız giden SSH'yi engelliyordur.
3. **Sunucu kapalı veya açılıyor.** Durumunu müşteri panelinde kontrol edin; hizmet sayfanızda görünüyorsa web konsolunu açın.

Güvenlik duvarını yakın zamanda değiştirdiyseniz [güvenlik duvarı değişikliğinden sonra erişimi kaybetmek](/guides/locked-out-after-firewall-change) rehberine bakın.

## `ssh: connect to host … port 22: Connection refused`

Sunucu yanıt verdi ama 22 numaralı portu dinleyen bir şey yok. Web konsolundan servisi kontrol edin:

```bash
sudo systemctl status ssh
sudo ss -tlnp | grep -i ssh
sudo sshd -t
```

- Servis durmuşsa `sudo systemctl start ssh` ile başlatın. `sudo sshd -t`, başlamasını engelleyen yapılandırma hatalarını yazdırır.
- Başka bir portu dinliyorsa o porta bağlanın.
- **Ubuntu:** SSH, `ssh.socket` tarafından başlatılır. `Port` ayarını değiştirdikten sonra `sudo systemctl daemon-reload` ve `sudo systemctl restart ssh.socket` çalıştırın; aksi halde eski port etkin kalır.

RHEL ailesi sistemlerde servisin adı `sshd`'dir.

## `Permission denied (publickey)`

Sunucu yalnızca anahtar kabul ediyor ve istemcinizin sunduğu anahtarların hiçbiri kullanıcının `authorized_keys` dosyasında yok.

- Doğru kullanıcıyı kullandığınızı kontrol edin: `root` ile `alex`'in anahtar dosyaları ayrıdır.
- İstemciyi doğru anahtara yönlendirin: `ssh -i ~/.ssh/id_ed25519 alex@203.0.113.10`.
- Sunucuda sahipliği ve izinleri kontrol edin; SSH, başkalarının yazabildiği dosyaları yok sayar:

```bash
ls -ld ~/.ssh
ls -l ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```

- Nedeni sunucu kaydında okuyun: `sudo journalctl -u ssh --since "10 minutes ago"`.

Anahtar eklemek için [SSH anahtarları](/guides/ssh-keys) rehberine bakın.

## `Permission denied, please try again.`

Şifreyle giriş açık, ama kullanıcı adı veya şifre yanlış. Şifreler büyük/küçük harfe duyarlıdır ve yazarken hiçbir şey görünmez. Root girişleri kapalıysa (`PermitRootLogin no`) kendi kullanıcınızla giriş yapın. Birkaç başarısız denemeden sonra IP adresiniz Fail2ban veya CrowdSec tarafından engellenmiş olabilir; aşağıya bakın.

## `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!`

Sunucu, bilgisayarınızın kaydettiğinden farklı bir host anahtarı sunuyor. Yeniden kurulumdan sonra veya bir IP adresi yeni bir sunucuya verildiğinde bu beklenen bir durumdur. Yeniden kurulum yapmadıysanız bunu bir uyarı sayın ve devam etmeden önce bize sorun. Yeniden kurulumdan sonra yeni anahtarı kabul etmek için:

```bash
ssh-keygen -R 203.0.113.10
```

## `Received disconnect … Too many authentication failures`

SSH agent'ınız birkaç anahtar sundu ve sunucu sınıra (`MaxAuthTries`) ulaşınca durdu. Yalnızca doğru anahtarı sunun:

```bash
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 alex@203.0.113.10
```

Bunu `~/.ssh/config` içinde `IdentitiesOnly yes` ve `IdentityFile` ile kalıcı hale getirin.

## `kex_exchange_identification: read: Connection reset by peer`

Bağlantı SSH el sıkışmasından önce kesildi. Sık nedenler: IP adresiniz Fail2ban veya CrowdSec tarafından engellenmiştir, bir tarama sırasında `MaxStartups` aşılmıştır ya da bir güvenlik duvarı bağlantıyı sıfırlıyordur. Web konsolundan kontrol edin:

```bash
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 198.51.100.7
```

`198.51.100.7` yerine kendi genel IP adresinizi yazın. CrowdSec'te kararları `sudo cscli decisions list` ile listeleyin ve sizinkini `sudo cscli decisions delete --ip 198.51.100.7` ile kaldırın.

## `WARNING: UNPROTECTED PRIVATE KEY FILE!`

Özel anahtarınızı bilgisayarınızdaki başka kullanıcılar okuyabiliyor; bu yüzden istemci onu kullanmayı reddediyor.

**Linux ve macOS**

```bash
chmod 600 ~/.ssh/id_ed25519
```
**Windows**

```powershell
icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "$($env:USERNAME):(R)"
```

## Ne zaman destek bildirimi açmalı?

Port her ağdan kapalıysa ve web konsolu da çalışmıyorsa ya da sunucu hiç yanıt vermiyorsa bir destek bildirimi açın. **İlişkili Hizmet** altında sunucuyu seçin ve şunları ekleyin:

- `ssh -vvv` çıktısı (şifreleriniz dışında hiçbir şeyi silmeyin),
- bilgisayarınızdan `mtr -rwc 50 203.0.113.10` veya `pathping 203.0.113.10` çıktısı,
- sorun başlamadan önce neyin değiştiği.

## Sonraki adımlar

- Erişim kayıplarını önleyin: [SSH sıkılaştırma](/guides/ssh-hardening) ve [Fail2ban ve CrowdSec](/guides/fail2ban-crowdsec).
- Hiçbir şey yanıt vermiyor mu? [Sunucuya erişilemiyor](/guides/server-unreachable).

## Sık sorulan sorular

### Refused ile timed out arasındaki fark nedir?

Refused, sunucunun yanıt verdiği ama o portu dinleyen bir şey olmadığı anlamına gelir; SSH servisi durmuştur veya başka bir porttadır. Timed out hiçbir yanıt gelmediği anlamına gelir: bir güvenlik duvarı paketleri düşürüyordur, sunucu kapalıdır veya adres yanlıştır.

### SSH'nin neden başarısız olduğunu nasıl görürüm?

ssh -vvv ile bağlanın ve hatadan önceki son satırları okuyun. Sunucuda SSH servisinin kaydı bir girişin neden reddedildiğini gösterir: Ubuntu ve Debian'da journalctl -u ssh.

### SSH portunu değiştirdim ve artık bağlanamıyorum. Ne yapmalıyım?

Yeni portla ssh -p kullanarak bağlanın ve güvenlik duvarının buna izin verdiğinden emin olun. Ubuntu'da port değişikliği ayrıca systemctl daemon-reload ve ssh.socket yeniden başlatması gerektirir. Erişiminiz kesildiyse hizmet sayfanızda görünüyorsa web konsolunu kullanın.

### IP adresim engellenmiş olabilir mi?

Evet; sunucuda Fail2ban veya CrowdSec çalışıyorsa ve birkaç kez hatalı giriş yaptıysanız. Başka bir ağdan bağlanın ya da erişimi olan birinden adresinizin engelini kaldırmasını isteyin.

### Ne zaman destek bildirimi açmalıyım?

Denediğiniz her ağdan port kapalıysa ve web konsolu da çalışmıyorsa ya da sunucu hiçbir şeye yanıt vermiyorsa. ssh -vvv çıktısını ve sunucuya yönelik bir mtr veya pathping çıktısını ekleyin.

---

Kaynak: <https://hyperdc.com/tr/guides/troubleshooting/ssh-connection-problems>\
Son güncelleme: 2026-10-09
