SSH Bağlantısı Sürekli Kopuyor Sorunu Nasıl Çözülür?

metn2charorcnal0 · 28 Eylül 2026 · 1 görüntülenme · 0 cevap

SSH bağlantısının sürekli kopması internet bağlantısı, modem veya NAT zaman aşımı, SSH keepalive ayarları, sunucunun yüksek kaynak kullanımı, firewall kuralları ya da SSH servisindeki yapılandırmalardan kaynaklanabilir. Bağlantı özellikle birkaç dakika işlem yapılmadığında kopuyorsa ilk kontrol edilmesi gereken noktalardan biri SSH keepalive ayarlarıdır.


Sorunu çözmeden önce bağlantının ne zaman koptuğunu belirlemek önemlidir: Yalnızca boşta beklerken mi, yoğun işlem sırasında mı, yoksa rastgele zamanlarda mı?

SSH bağlantısı boşta beklerken kopuyorsa

En sık görülen senaryolardan biridir.

SSH oturumunda birkaç dakika hiçbir işlem yapmadığınızda bağlantı kopuyorsa aradaki:

- Modem
- Router
- NAT
- Firewall
- VPN
- İnternet sağlayıcısı

boşta kalan TCP bağlantısını sonlandırıyor olabilir.

Bu durumda istemci tarafında keepalive kullanmak faydalı olabilir.

ServerAliveInterval nasıl kullanılır?

Tek bağlantı için örneğin:

ssh -o ServerAliveInterval=60 kullanici@SUNUCU_IP

kullanılabilir.

Bu ayar SSH istemcisinin bağlantının canlılığını kontrol etmek amacıyla belirli aralıklarla sunucuya protokol seviyesinde mesaj göndermesini sağlar.

Bağlantının uzun süre boşta kalması nedeniyle kapanmasını önlemeye yardımcı olabilir.

ServerAliveCountMax nedir?

Örneğin:

ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 kullanici@SUNUCU_IP

kullanılabilir.

Burada istemci belirli aralıklarla bağlantıyı kontrol eder ve sunucudan belirlenen sayıda yanıt alınamazsa oturumu sonlandırabilir.

Bu ayarlar kopmuş bir internet bağlantısını düzeltmez; bağlantının gerçekten kullanılamaz hale geldiğini daha kontrollü şekilde tespit etmeye yardımcı olur.

SSH config ile kalıcı keepalive ayarı

Her bağlantıda parametre yazmak istemiyorsanız istemci bilgisayarınızdaki:

~/.ssh/config

dosyasını kullanabilirsiniz.

Belirli bir sunucu için örneğin:

Host sunucum

HostName SUNUCU_IP

User kullanici

ServerAliveInterval 60

ServerAliveCountMax 3

tanımlanabilir.

Daha sonra:

ssh sunucum

ile bağlanabilirsiniz.

Bütün SSH bağlantılarına uygulamak yerine yalnızca ihtiyaç duyduğunuz sunucuda kullanmak daha kontrollü olabilir.

Sunucu tarafında keepalive ayarları

SSH sunucusunda da bağlantı kontrolüyle ilgili ayarlar bulunur.

Yapılandırma dosyası genellikle:

/etc/ssh/sshd_config

konumundadır.

Burada:

ClientAliveInterval

ve:

ClientAliveCountMax

ayarları bulunabilir.

Bu ayarlar sunucu tarafındaki SSH oturumlarının davranışını etkiler.

Değişiklik yapmadan önce mevcut yapılandırmayı ve ihtiyacınızı kontrol edin.

sshd_config değiştirdikten sonra mutlaka test edin

SSH yapılandırmasını değiştirdiyseniz:

sudo sshd -t

ile syntax kontrolü yapın.

Hata yoksa dağıtıma göre:

sudo systemctl reload ssh

veya:

sudo systemctl reload sshd

kullanılabilir.

En önemli güvenlik önlemlerinden biri:

Mevcut SSH oturumunu kapatmadan ikinci terminalden yeni bağlantının çalıştığını test etmektir.

Yanlış SSH yapılandırması uzak sunucuya erişiminizi tamamen kaybetmenize neden olabilir.

İnternet bağlantısını kontrol edin

SSH kopmasının nedeni her zaman sunucu değildir.

Kendi bilgisayarınızın internet bağlantısında kısa kesintiler oluşuyorsa SSH oturumu da etkilenebilir.

Sunucuya sürekli ping göndererek temel bağlantıyı gözlemleyebilirsiniz.

Windows:

ping SUNUCU_IP -t

Linux:

ping SUNUCU_IP

Ping tek başına SSH sağlığını kanıtlamaz ancak bağlantıda genel paket kaybı veya kesinti olup olmadığını anlamaya yardımcı olabilir.

Wi-Fi kullanıyorsanız

Kararsız Wi-Fi bağlantıları SSH oturumlarında kopmalara neden olabilir.

Özellikle:

- Zayıf Wi-Fi sinyali
- Ağlar arasında geçiş
- Modemin yeniden bağlantı kurması
- Bilgisayarın güç tasarrufu
- VPN bağlantısının değişmesi

mevcut TCP bağlantısını bozabilir.

Mümkünse sorunun istemci ağından kaynaklanıp kaynaklanmadığını anlamak için farklı ve stabil bir bağlantıyla test yapılabilir.

VPN SSH bağlantısını etkileyebilir mi?

Evet.

VPN açılıp kapandığında veya VPN sunucusu değiştiğinde cihazın ağ rotası ve dış IP adresi değişebilir.

Mevcut SSH oturumu bu nedenle kopabilir.

SSH yalnızca VPN açıkken veya yalnızca VPN kapalıyken kopuyorsa VPN bağlantısını ayrıca araştırın.

Sunucunun RAM'i tükeniyorsa SSH kopabilir

Sunucu ciddi bellek baskısı altındaysa SSH dahil birçok servis yavaşlayabilir.

Kontrol:

free -h

Özellikle:

- available RAM
- Swap kullanımı

değerlerine bakın.

OOM olaylarını araştırmak için:

journalctl -k | grep -i -E 'out of memory|oom|killed process'

kullanılabilir.

SSH process'inin doğrudan OOM nedeniyle sonlandırılması şart değildir; genel sistem kaynak sıkıntısı da bağlantı kalitesini etkileyebilir.

CPU %100 ise SSH neden yavaşlar?

Sunucunun işlemcisi sürekli tamamen meşgulse SSH komutlarına yanıt gecikebilir.

Kontrol:

top

veya:

htop

En fazla CPU kullanan process'ler:

ps aux --sort=-%cpu | head

ile görülebilir.

SSH bağlantısı özellikle yoğun trafik veya ağır bir işlem sırasında bozuluyorsa CPU ve load average değerlerini kontrol edin.

Disk problemi SSH'yi etkileyebilir mi?

Disk tamamen doluysa sistem servisleri çeşitli problemler yaşayabilir.

Kontrol:

df -h

Inode kontrolü:

df -i

Özellikle log, geçici dosya veya diğer sistem işlemleri yazma yapamıyorsa sunucuda beklenmeyen davranışlar görülebilir.

SSH servisi yeniden başlıyor olabilir

SSH servisinin durumunu kontrol etmek için dağıtıma göre:

systemctl status ssh

veya:

systemctl status sshd

kullanılabilir.

Servisin yakın zamandaki kayıtlarını incelemek için:

journalctl -u ssh

veya:

journalctl -u sshd

kullanılabilir.

Servisin sürekli restart olduğunu görüyorsanız nedenini loglardan araştırın.

SSH loglarını kontrol edin

Ubuntu ve Debian sistemlerinde authentication kayıtları çoğunlukla:

/var/log/auth.log

içerisinde bulunabilir.

Canlı takip:

sudo tail -f /var/log/auth.log

SSH bağlantısı koptuğu anda loglarda ilgili bir kayıt oluşup oluşmadığını kontrol edin.

Sunucu tarafında hiçbir kayıt yoksa sorun istemci, ağ veya aradaki bağlantı ekipmanlarında olabilir.

Firewall bağlantıyı kesebilir mi?

Evet.

Sunucu veya hosting sağlayıcısı tarafındaki firewall kuralları belirli bağlantıları etkileyebilir.

Ayrıca ağ üzerinde stateful firewall veya NAT cihazları boşta kalan bağlantıları belirli bir süre sonra kapatabilir.

Bu nedenle bağlantının tam olarak kaç dakika sonra koptuğunu gözlemlemek faydalıdır.

Her seferinde yaklaşık aynı süre sonunda kopuyorsa timeout ihtimali güçlenir.

Fail2ban SSH bağlantısını koparır mı?

Fail2ban normalde belirli başarısız giriş davranışlarına karşı IP adreslerini engellemek için kullanılır.

Kontrol:

sudo fail2ban-client status

Ancak aktif ve başarıyla doğrulanmış SSH oturumunun rastgele kopmasının ilk şüphelisi Fail2ban değildir.

Yeni bağlantı kuramıyorsanız ve IP adresiniz engellenmiş görünüyorsa ayrıca araştırılabilir.

Uzun komut çalıştırırken SSH koparsa ne olur?

SSH oturumunda uzun süren bir işlem çalıştırıyorsanız bağlantının kopması işlemi de etkileyebilir.

Örneğin:

- Büyük backup
- Uzun script
- Veri aktarımı
- Derleme
- Import veya export

işlemlerinde terminal oturumuna bağımlı çalışmak riskli olabilir.

Bu tür durumlarda tmux veya screen kullanmak oldukça faydalıdır.

tmux neden kullanılır?

tmux, terminal oturumunu SSH bağlantısından bağımsız tutmaya yardımcı olur.

Örneğin:

tmux

ile oturum başlatıp uzun işleminizi çalıştırabilirsiniz.

SSH bağlantısı kopsa bile tmux oturumu sunucuda devam edebilir.

Tekrar bağlandıktan sonra mevcut oturumları:

tmux ls

ile görebilir ve uygun oturuma:

tmux attach

ile geri dönebilirsiniz.

Bu özellikle backup ve uzun süren yönetim işlemlerinde çok kullanışlıdır.

SSH debug modu ile kopma araştırılabilir

Bağlantı davranışını ayrıntılı görmek için:

ssh -vv kullanici@SUNUCU_IP

veya daha ayrıntılı:

ssh -vvv kullanici@SUNUCU_IP

kullanabilirsiniz.

Debug çıktısı bağlantının hangi aşamada sorun yaşadığını anlamaya yardımcı olabilir.

Ancak çıktıyı internette paylaşmadan önce IP adresleri, kullanıcı bilgileri ve diğer hassas verileri kontrol edin.

SSH bağlantısı donuyor ama hemen kopmuyorsa

Bazen terminal cevap vermeyi bırakır ancak SSH istemcisi bağlantının koptuğunu hemen fark etmez.

Keepalive ayarları böyle durumlarda kullanılamaz hale gelen bağlantının daha hızlı tespit edilmesine yardımcı olabilir.

Ancak temel ağ sorunu varsa keepalive bunu çözmez.

Sunucuyu yeniden başlatmak çözüm mü?

Reboot geçici olarak problemi ortadan kaldırabilir ancak asıl nedeni gizleyebilir.

Sorun:

- RAM
- CPU
- Disk
- SSH servisi
- Ağ
- Firewall
- VPS sağlayıcısı

kaynaklıysa önce logları ve sistem durumunu kontrol etmek daha doğru olur.

Özellikle üretim sunucusunu yalnızca SSH koptuğu için sürekli reboot etmek doğru bir çözüm değildir.

SSH bağlantısı kopuyor ve tekrar bağlanamıyorsanız

Sunucuya SSH dışında erişmek gerekebilir.

VPS sağlayıcınız destekliyorsa:

- Web console
- VNC console
- Serial console
- Rescue mode

kullanılabilir.

Bu yöntemler SSH yapılandırmasını veya servisini onarmak için hayat kurtarıcı olabilir.

SSH bağlantı kopması için hızlı kontrol sırası

Şu sırayla ilerleyebilirsiniz:

1. Kopmanın yalnızca boşta beklerken mi oluştuğunu belirleyin.
2. ServerAliveInterval ile istemci keepalive testi yapın.
3. İnternet ve Wi-Fi bağlantınızı kontrol edin.
4. VPN kullanıyorsanız VPN olmadan test edin.
5. Sunucuya ping sırasında paket kaybı olup olmadığını gözlemleyin.
6. free -h ile RAM durumunu kontrol edin.
7. top ile CPU ve load durumunu inceleyin.
8. df -h ile disk alanını kontrol edin.
9. SSH servisinin durumuna bakın.
10. SSH ve authentication loglarını inceleyin.
11. Firewall ve NAT timeout ihtimalini değerlendirin.
12. Uzun işlemler için tmux veya screen kullanın.
13. Gerekirse ssh -vvv ile bağlantıyı ayrıntılı inceleyin.

Sık yapılan hatalar

SSH bağlantı kopması araştırılırken şu hatalardan kaçının:

- Her kopmayı SSH servisinden kaynaklanıyor sanmak
- Kendi internet bağlantısını kontrol etmemek
- Wi-Fi veya VPN etkisini gözden kaçırmak
- Keepalive ayarlarını yanlış yorumlamak
- Sunucunun RAM ve CPU durumuna bakmamak
- SSH loglarını incelememek
- Uzun işlemleri doğrudan normal SSH terminalinde bırakmak
- Sorunun nedenini araştırmadan sunucuyu sürekli reboot etmek
- sshd_config değişikliğinden sonra çalışan oturumu hemen kapatmak

Özetle, SSH bağlantısı sürekli kopuyorsa önce kopmanın belirli bir boşta kalma süresinden sonra mı yoksa rastgele mı gerçekleştiğini belirlemek gerekir. Boşta kalan bağlantılarda keepalive ayarları yardımcı olabilir; rastgele kopmalarda ise internet, sunucu kaynakları, firewall ve SSH logları birlikte incelenmelidir.

Uzun süren sunucu işlemlerinde ise bağlantının hiçbir zaman kopmayacağını varsaymak yerine tmux veya screen kullanmak, SSH bağlantısı kesilse bile yapılan işin devam etmesini sağlayan en güvenli yöntemlerden biridir.