Linux SSH Zaman Aşımı [kapalı]


10

X dakika kullanılmadığında zaman aşımına uğrayan bir çift sistemle mücadele ediyorum ve nasıl düzeltileceğinden emin değilim.

Ofisimde bir CentOS kutum var. SSH'ye bağlan 2 saat boyunca dokunamaz ve bir şey çalıştırdığımda hala canlı.

Ancak evde aynı kutuya bağlanın ve bazen birkaç saniye sonra bazen birkaç dakika sonra zaman aşımına uğrayacaktır.

Aktif olarak kutuyu kullanıyorum ancak bağlı kalacak, ancak benim internet bağlantısı olduğunu düşünürdüm.

Ancak ben bir şey google yazmayı keserseniz bağlantısı kesilmiş bir mesaj gösterir ve ben yeniden bağlanmak zorunda.

Neler olup bittiğini görmek için kontrol edebileceğim bir şey var mı?


4
(Adsız) müşterinizin belgeleri.
user9517

Yanıtlar:


14

Bakmanız gereken ilk şey ServerAliveInterval'ı ayarlamaktır. Bu, iş istasyonunuzda ayarlanmalıdır.

Linux veya OSX istemcilerinde, iş istasyonunuzdaki ~ / .ssh / config altında kullanıcınız için bir yapılandırma dosyası oluşturabilirsiniz. Aşağıdaki yönergeyi ekleyin. Benim durumumda tüm ana bilgisayarları etkilemesini istiyorum, bu yüzden Host * altına koyuyorum.

Host *
    ServerAliveInterval 60

Bu, bağlantıyı açık tutmak için her 60 saniyede bir noop komutu gönderir. Gereksinimlerinizi karşılamak için değeri değiştirmek isteyebilirsiniz.

Sunucu tarafında TCPKeepAlive'nin yes olarak ayarlandığından emin olun.

grep TCPKeepAlive /etc/ssh/sshd_config
TCPKeepAlive yes

Windows'daysanız, istemcinizin belgelerine başvurmanız gerekir.


11

Linux, boş SSH bağlantılarını zaman aşımına uğratmaz. Bir SSH bağlantısını süresiz olarak açık bırakabilirsiniz ve hiçbir uç nokta yeniden başlatılmadığı veya yeni bir IP adresi almadığı sürece, uzun bir boşta kaldıktan sonra bağlantıya eriştiğinizde bağlantı yine de çalışır.

Ancak, durum bilgisi olan orta kutular (NAT, güvenlik duvarı, vb.) Bunun sonucu, bağlantı her iki uçta da canlı olmasına rağmen, orta uç SSH istemcisi yeni bir bağlantı açılana kadar herhangi bir paketi iletmeyi reddettiği için iki uç nokta artık iletişim kuramaz.

Eğer middlebox zaman aşımı biliyorsanız, yapılandırarak sorunu çalışabilirsiniz ClientAliveIntervaliçinde /etc/ssh/sshd_configsunucusunda veya ServerAliveIntervaliçinde ~/.ssh/configistemci üzerinde. Kopuk bağlantıların en iyi şekilde algılanması için her iki ayarın da etkinleştirilmesi önerilir. Bu, uç noktalardan biri yeniden başlatıldığında veya yeni bir IP adresi aldığında da kesilen bağlantıları algılar.

Zaman aşımının bazen birkaç saniye kadar düşük göründüğünü belirttiğiniz için, bu sorununuzu çözmek için yeterli olmayabilir. Çok düşük bir görünür zaman aşımı aşırı yüklenmiş veya yanlış yapılandırılmış bir CGN'den kaynaklanabilir. Bir CGN'nin hatalardan sorumlu olup olmadığını anlamak için iletişim yolunun çeşitli noktalarındaki trafiği kontrol etmeniz gerekir.

Hataların, ISS'nizin bağlantı durumunu paylaşmayan birden fazla CGN üzerinden yük dengeleme bağlantıları gibi aptalca bir şey yapmasından kaynaklandığı ortaya çıkarsa, SSH yapılandırmanızı değiştirerek sorunu kendiniz çözemezsiniz.

Düzeltmeyi reddettikleri güvenilir olmayan bir CGN'ye sahip bir ISS ile sıkışıp kalırsanız, bildiğim tek seçenek hem istemci hem de sunucuyu MPTCP desteği olan çekirdek sürümlerine yükseltmek veya kendiliğinden tolere etmek için tasarlanmış bir tünel çözümü kullanmaktır. NAT üzerindeki bağlantı noktası eşlemelerindeki değişiklikler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.