ssh oturumlarım neden bir süre sonra donuyor? [kapalı]


10

Bu soruyu sormak için doğru yer değilse özür dileriz.

Düzenli olarak farklı sunuculara ssh ihtiyacım var. Şimdi, ev makinemden (linux nane), ssh ile bağlandığımda, bir süre hareketsiz kaldıktan sonra, ssh kabuğum donuyor ve geri almanın bir yolu yok. Yapabileceğim tek şey en azından bana başlangıç ​​kabuğumu geri veren '~.'.

Başka konumlardan aynı sunuculara giriş yaptığımda sorun yok. Bu ISS'm ile ilgili bir sorun olabilir mi? Bu konuda nasıl daha fazla araştırma yapabilirim?

Donma sonrası ssh bağlantılarını yeniden kurmak, bulunduğum yere geri dönmek ve çalışmaya devam etmek zorunda olduğum için gerçekten sinir bozucu. Teşekkürler


Statik bir IP adresiniz var mı? Değilse, ISS'niz oturumun ortasında size farklı bir IP adresi vermiş olabilir - günlüklerinizi kontrol edin ve görün.
user9517

Statik bir IP adresim yok. Kontrol edecek
coccolithophore

Yanıtlar:


20

NAT'ınız bir süre kullanılmadığında TCP soketinizi düşürüyor.

Ssh istemciniz isteğe bağlı olarak sunucuya periyodik noop gönderebilir ve böylece bu sorunu ortadan kaldırabilir. Bunu yapmak için şunu ekleyin ~/.ssh/config:

Host *
  ServerAliveInterval 60

Alternatif olarak, NAT'ınızı öğelerin durum tablosundan süresi dolmak üzere olduğu kadar hızlı yeniden yapılandırmayacak şekilde yeniden yapılandırın.


Yukarıdakilere ek olarak, oturumlarınız için bir GNU Screen veya tmux gibi bir terminal çoklayıcı kullanmalısınız. Bunlardan herhangi biriyle, bağlantı kopması durumunda oturumunuzu kurtarabilirsiniz.


Boştaki TCP oturumlarını bırakmayı seven yoldaki NAT veya herhangi bir acı veren güvenlik duvarı. Durumları korumak için bellek eksikliğinin yanı sıra, boş TCP oturumlarını bırakmak için hiçbir neden yoktur, ancak ekipmanlarınızı doğru şekilde boyutlandırır ve yapılandırırsanız bu çok nadiren gerçekleşmelidir. Sağlayıcınızın / yöneticinizin yetkili olup olmadığını bilmek iyi bir özelliktir.
zerodeux

0

Benim durumumda sorun büyük MTU boyutundaydı. NAT kullanıyorsanız yönlendiricideki MTU'yu değiştirebilirsiniz, ancak sunucudaki MTU'yu değiştiriyorum:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

Windows'da bu anahtarı da artırabilirsiniz:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
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.