GNU/Linux >> Znalost Linux >  >> Cent OS

Jak zabránit tomu, aby relace SSH vypršela

Linuxový ssh server ve výchozím nastavení nikdy neodpojuje ssh relaci od serveru, zkontrolujte konfiguraci přepínače/routeru/firewallu, abyste se vyhnuli problému beze změny konfigurace ssh serverů/klientů. Pokud se relace ssh odpojuje kvůli nečinnosti a chcete to zastavit, postupujte podle níže uvedených kroků na straně klienta nebo serveru, jak je popsáno níže:

Nastavení na straně klienta

Chcete-li povolit zachování života v celém systému (vyžadován přístup root), upravte konfigurační soubor /etc/ssh/ssh_config . Podobně, chcete-li nastavit nastavení pouze pro konkrétního uživatele, upravte ~/.ssh/config (vytvořte soubor, pokud neexistuje). Vložte následující:

Host *
ServerAliveInterval 300
ServerAliveCountMax 2

Tato nastavení způsobí, že klient nebo server SSH odešle na druhou stranu každých 300 sekund (5 minut) nulový paket a vzdá se, pokud neobdrží žádnou odpověď ani po 2 pokusech, kdy je připojení pravděpodobně ukončeno. stejně zahozeny.

Z manuálové stránky ssh_config:

ServerAliveCountMax:

Nastavuje počet aktivních zpráv serveru (viz níže), které mohou být odeslány, aniž by ssh(1) obdrželo nějaké zprávy zpět ze serveru. Pokud je tohoto prahu dosaženo během odesílání aktivních zpráv serveru, ssh se odpojí od serveru a ukončí relaci. Je důležité poznamenat, že použití zpráv serveru je velmi odlišné od TCPKeepAlive (níže). Zprávy serveru jsou zasílány prostřednictvím šifrovaného kanálu, a proto je nelze podvrhnout. Volba TCP keepalive povolená TCPKeepAlive je spoofable. Mechanismus aktivního serveru je cenný, když klient nebo server závisí na tom, že bude vědět, kdy se připojení stalo neaktivní.

Výchozí hodnota je 3. Pokud je například ServerAliveInterval (viz níže) nastaven na 15 a ServerAliveCountMax je ponechán na výchozí hodnotě, pokud server přestane reagovat, ssh se odpojí přibližně po 45 sekundách. Tato možnost platí pouze pro protokol verze 2; v protokolu verze 1 neexistuje žádný mechanismus pro vyžádání odpovědi ze serveru na aktuální zprávy serveru, takže za odpojení odpovídá zásobník TCP.

ServerAliveInterval:

Nastavuje časový limit v sekundách, po kterém, pokud ze serveru nejsou přijata žádná data, ssh(1) odešle zprávu přes šifrovaný kanál s žádostí o odpověď ze serveru. Výchozí hodnota je 0, což znamená, že tyto zprávy nebudou odeslány na server, nebo 300, pokud je nastavena možnost BatchMode. Tato možnost platí pouze pro protokol verze 2. ProtocolKeepAlives a SetupTimeOut jsou aliasy kompatibility specifické pro Debian pro tuto možnost.

Nastavení na straně serveru

Pokud máte administrátorský přístup k serveru, můžete nakonfigurovat možnosti ClientAliveInterval, TCPKeepAlive a ClientAliveCountMax v konfiguračním souboru SSHd. Cesta k souboru je /etc/ssh/sshd_config

# vi /etc/ssh/sshd_config
ClientAliveInterval 30
TCPKeepAlive yes 
ClientAliveCountMax 99999

Aby se změny projevily, budete muset restartovat SSH server.

# service sshd restart


Cent OS
  1. Jak upgradovat z openSUSE 13.1 na openSUSE 13.2

  2. Jak stáhnout soubor ze serveru pomocí SSH?

  3. Jak vynutím odpojit obrazovku od jiné relace SSH?

  1. Jak na SSH na Linuxu z Androidu

  2. Jak spustit ClamAV scan z SSH na serveru cPanel?

  3. Jak vytvořit banner SSH na serveru CentOS/RHEL

  1. Jak odeslat data do místní schránky ze vzdálené relace SSH

  2. Jak zastavit přidávání IP z EC2 do známých_hostitelů pro ssh?

  3. Jak SCP z linuxového serveru na Windows klienta