SSH Bağlantısı Neden Kopuyor? Broken Pipe ve Keepalive Rehberi
SSH oturumunun birkaç dakika sonra kopması; telefonun ağ değiştirmesi, NAT zaman aşımı, sunucu politikası veya uzun süre veri taşınmaması gibi farklı nedenlerden kaynaklanabilir.

Kopma mesajı ne söylüyor?
İstemci artık karşı tarafa veri yazamadığında görülebilir; asıl neden daha önce kesilen ağ yolu olabilir.
Uzak sistem veya aradaki bir ağ cihazı TCP bağlantısını sıfırlamış olabilir.
İstemci belirlenen sürede yanıt alamamıştır; ağ yolu, güvenlik duvarı veya sunucu yanıt vermiyor olabilir.
Sunucu oturumu politika, bakım, kaynak sınırı veya kullanıcı çıkışı nedeniyle normal biçimde kapatmış olabilir.
En yaygın kopma nedenleri
Mobil cihaz Wi-Fi ile hücresel ağ arasında geçiş yaptığında mevcut TCP bağlantısının adresi değişebilir. Ekran kapanınca uygulamanın arka plan çalışması kısıtlanabilir. Ev yönlendiricileri, güvenlik duvarları ve kurumsal NAT sistemleri de boşta kalan bağlantıları tablodan silebilir.
Sunucu tarafında ClientAliveInterval, boşta oturum politikası, kabuk zaman aşımı veya bakım işlemi bağlantıyı sonlandırabilir. Önce kopmanın sabit bir süre sonunda mı, yalnızca ağ değişiminde mi, yoksa yoğun çıktı sırasında mı oluştuğunu belirleyin.
ServerAliveInterval ve TCPKeepAlive farkı
| Ayar | Nasıl çalışır? | Ne sağlar? |
|---|---|---|
| ServerAliveInterval | SSH şifreli kanalı üzerinden yanıt ister | Yanıtsız bağlantıyı algılar ve NAT kaydını canlı tutmaya yardımcı olabilir |
| ServerAliveCountMax | Yanıtsız alive mesajlarının sınırını belirler | Bağlantının ne zaman başarısız sayılacağını belirler |
| TCPKeepAlive | İşletim sistemi TCP keepalive paketlerini kullanır | Ölü ağ yolunu algılayabilir; SSH katmanından farklıdır |
ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 kullanici@sunucuAdım adım teşhis
- 1Süreyi ölçün
Kopma her seferinde aynı dakika civarında oluyorsa boşta kalma politikası veya NAT zaman aşımı ihtimali artar.
- 2Ağ değişimini kontrol edin
Wi-Fi sinyali, VPN, mobil veri geçişi ve uyku moduyla ilişkisini test edin.
- 3Ayrıntılı istemci günlüğü alın
OpenSSH üzerinde -v, gerekirse -vv veya -vvv ile bağlantının hangi aşamada kapandığını inceleyin.
- 4Sunucu günlüklerine bakın
sshd ve sistem günlüklerinde oturum kapatma, kaynak sınırı veya yeniden başlatma kaydı arayın.
- 5Kontrollü keepalive deneyin
Makul aralıkla alive mesajları kullanın ve sorunun gerçekten boşta bağlantı zaman aşımı olup olmadığını karşılaştırın.
Android ve dizüstü cihazlarda dikkat edilmesi gerekenler
İşletim sistemi ekran kapalıyken ağ erişimini veya arka plan uygulamasını durdurabilir.
Aktif SSH oturumu çoğunlukla farklı IP adresine kesintisiz taşınamaz; yeniden bağlanmak gerekir.
VPN tünelinin yenilenmesi SSH TCP akışını kesebilir.
Terminal bağlantısından bağımsız sürmesi gereken işlemler için sunucuda tmux veya screen gibi oturum yöneticileri değerlendirilebilir.
Keepalive ayarını abartmayın
Çok kısa aralıklar gereksiz trafik ve pil tüketimi oluşturabilir. Ayrıca keepalive, kötü Wi-Fi, kapanan SSH hizmeti veya yeniden başlatılan sunucu gibi gerçek sorunu çözmez; yalnızca bağlantının durumunu daha düzenli kontrol eder.
Sunucu genelindeki ayarları değiştirmeden önce farklı kullanıcıları ve otomasyonları nasıl etkileyeceğini değerlendirin. İstemciye özel ayar, tek kullanıcıdaki sorunu sınamak için daha kontrollü bir başlangıçtır.
Saatler sürecek kritik bir işlemi yalnızca açık mobil bağlantıya güvenerek çalıştırmayın. Yeniden bağlanılabilir bir sunucu oturumu veya servis kullanın.
Rehberi uygulamaya geçirin.
İlgili Varkuna ürününü inceleyin veya ayrıntılı kullanım rehberini açın.