Mă confrunt cu o problemă cu configurarea pe care o folosesc pentru a efectua ocazional întreținere pe o mulțime de servere clienți prin SSH la distanță
Următoarea configurare:
1 Server de control
X Număr arbitrar de servere Client configurate pentru a avea un cont de „serviciu” conectat la serverul meu de control prin SSH.
Am configurat clienții să se conecteze automat la serverul de control, care are o IP fixă, prin contul de serviciu folosind autoSSH după pornire. Acesta este al meu /etc/ssh/ssh_config
pe mașina clientului:
# Acesta este fișierul de configurare la nivelul întregului sistem client ssh. Vedea
# ssh_config(5) pentru mai multe informații. Acest fișier oferă valori implicite pentru
# utilizatori, iar valorile pot fi modificate în fișierele de configurare per utilizator
# sau pe linia de comandă.
# Datele de configurare sunt analizate după cum urmează:
# 1. opțiunile liniei de comandă
# 2. fișier specific utilizatorului
# 3. fișier la nivelul întregului sistem
# Orice valoare de configurare este modificată doar prima dată când este setată.
# Astfel, definițiile specifice gazdei ar trebui să fie la începutul
# fișier de configurare și valorile implicite la sfârșit.
# Valori implicite la nivel de site pentru unele opțiuni utilizate în mod obișnuit. Pentru o cuprinzătoare
# lista de opțiuni disponibile, semnificațiile și valorile implicite ale acestora, consultați
# ssh_config(5) pagina de manual.
Gazda *
# ForwardAgent nr
# ForwardX11 nr
# ForwardX11De încredere da
# PasswordAuthentication da
# Autentificare bazată pe gazdă nr
# Autentificare GSSAPI nr
# GSSAPIDelegateCredentials nr
# GSSAPIKeyExchange nr
# GSSAPITrustDNS nr
# BatchMode nr
# CheckHostIP da
# AdresăFamilie orice
# ConnectTimeout 0
# StrictHostKeyChecking întreabă
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# Portul 22
# Protocolul 2
# Cifre aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, 3des-cbc
# MAC-uri hmac-md5,hmac-sha1,[email protected]
# EscapeChar ~
# Tunelul nr
# TunnelDevice any:any
# PermitLocalCommand nr
# VisualHostKey nr
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
SendEnv LANG LC_*
HashKnownHosts da
Autentificare GSSAPI da
ServerAliveInterval 300
Pe serverul de control folosesc următorul sshd_config:
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# Acesta este fișierul de configurare la nivel de sistem al serverului sshd. Vedea
# sshd_config(5) pentru mai multe informații.
# Acest sshd a fost compilat cu PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Strategia folosită pentru opțiunile din sshd_config implicit livrate cu
# OpenSSH este de a specifica opțiunile cu valoarea lor implicită unde
# posibil, dar lăsați-le comentate. Opțiunile necomentate înlocuiesc
# valoare implicită.
Port --ascuns--
#AdresaFamiliei orice
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Cifruri și codare
#RekeyLimit implicit nici unul
# Logare
#SyslogFacility AUTH
INFORMAȚII #LogLevel
# Autentificare:
#LoginGraceTime 2m
#StrictModes da
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication da
# Așteptați-vă ca .ssh/authorized_keys2 să fie ignorat implicit în viitor.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile nici unul
#AuthorizedKeysCommand niciunul
#AuthorizedKeysCommandUser nimeni
# Pentru ca acest lucru să funcționeze, veți avea nevoie și de chei de gazdă în /etc/ssh/ssh_known_hosts
#HostbasedAuthentication nr
# Schimbați la yes dacă nu aveți încredere în ~/.ssh/known_hosts pentru
# Autentificare bazată pe gazdă
#IgnoreUserKnownHosts nr
# Nu citiți fișierele ~/.rhosts și ~/.shosts ale utilizatorului
#IgnoreRhosts da
# Pentru a dezactiva parolele de text clar tunelizate, schimbați la nu aici!
#PermitEmptyPasswords nr
# Schimbați la da pentru a activa parolele de răspuns la provocare (feriți-vă la problemele cu
# unele module PAM și fire)
ChallengeResponseAuthentication nr
# Opțiuni Kerberos
#KerberosAuthentication nr
#KerberosOrLocalPasswd da
#KerberosTicketCleanup da
#KerberosGetAFSToken nr
# Opțiuni GSSAPI
#GSSAPIAutentificare nr
#GSSAPICleanupCredentials da
#GSSAPIStrictAcceptorCheck da
#GSSAPIKeyExchange nr
# Setați acest lucru la „da” pentru a activa autentificarea PAM, procesarea contului,
# și procesarea sesiunii. Dacă aceasta este activată, autentificarea PAM va fi
# să fie permis prin ChallengeResponseAuthentication și
# Autentificarea PAM prin ChallengeResponseAuthentication poate ocoli
# Dacă doriți doar ca contul PAM și verificările de sesiune să ruleze fără
# și ChallengeResponseAuthentication la „nu”.
Folosește PAM da
#AllowAgentForwarding da
AllowTcpForwarding da
GatewayPorts da
X11 Redirecționare da
#X11DisplayOffset 10
#X11UseLocalhost da
#PermitTTY da
PrintMotd nr
#PrintLastLog da
#TCPKeepAlive da
#PermitUserMediu nr
#Compresia întârziată
ClientAliveInterval 30
ClientAliveCountMax 99999
#UseDNS nr
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel nr
#ChrootDirectory niciunul
#VersionAddendum niciunul
# nicio cale implicită pentru banner
#Banner nici unul
# Permite clientului să transmită variabile de mediu locale
AcceptEnv LANG LC_*
# suprascrie valoarea implicită fără subsisteme
Subsistemul sftp /usr/lib/openssh/sftp-server
# Exemplu de setări de suprascrie pe bază de utilizator
#Match User anoncvs
# X11Redirecționare nr
# AllowTcpForwarding nr
# PermisTTY nr
# Server ForceCommand cvs
PasswordAuthentication nr
PermitRootLogin da
Practic, m-aș aștepta ca serverele să mențină conexiunile deschise, deoarece ambele părți au suficiente timeout-uri setate. Cu toate acestea, conexiunile continuă să scadă aleatoriu. am verificat /var/log/syslog
si se pare ca sshd
elimină aleatoriu una dintre conexiunile active odată ce intră o nouă conexiune. Prin urmare, sunt destul de sigur că ating o anumită limită de conexiune aici:
Nov 26 18:38:38 v2202102140578142103 systemd[1]: session-115234.scope: Succeeded.
26 noiembrie 18:38:38 v2202102140578142103 systemd[1]: a început Sesiunea 115376 a serviciului pentru utilizatori.
Nov 26 18:38:47 v2202102140578142103 systemd[1]: session-115235.scope: Succeeded.
26 noiembrie 18:38:47 v2202102140578142103 systemd[1]: a început Sesiunea 115377 a serviciului pentru utilizatori.
Nov 26 18:38:52 v2202102140578142103 systemd[1]: session-115236.scope: Succeeded.
26 noiembrie 18:38:53 v2202102140578142103 systemd[1]: a început Sesiunea 115378 a serviciului pentru utilizatori.
Nov 26 18:39:08 v2202102140578142103 systemd[1]: session-115237.scope: Succeeded.
26 noiembrie 18:39:08 v2202102140578142103 systemd[1]: a început Sesiunea 115379 a serviciului utilizator.
Nov 26 18:39:08 v2202102140578142103 systemd[1]: session-115238.scope: Succeeded.
26 noiembrie 18:39:08 v2202102140578142103 systemd[1]: a început Sesiunea 115380 a serviciului pentru utilizatori.
Nov 26 18:39:09 v2202102140578142103 systemd[1]: session-115239.scope: Succeeded.
26 noiembrie 18:39:09 v2202102140578142103 systemd[1]: a început Sesiunea 115381 a serviciului pentru utilizatori.
Nov 26 18:39:14 v2202102140578142103 systemd[1]: session-115240.scope: Succeeded.
26 noiembrie 18:39:15 v2202102140578142103 systemd[1]: a început Sesiunea 115382 a serviciului pentru utilizatori.
Nov 26 18:39:31 v2202102140578142103 systemd[1]: session-115241.scope: Succeeded.
Nov 26 18:39:31 v2202102140578142103 systemd[1]: session-115242.scope: Succeeded.
26 noiembrie 18:39:31 v2202102140578142103 systemd[1]: a început Sesiunea 115383 a serviciului pentru utilizatori.
26 noiembrie 18:39:31 v2202102140578142103 systemd[1]: a început Sesiunea 115384 a serviciului pentru utilizatori.
Nov 26 18:39:32 v2202102140578142103 systemd[1]: session-115243.scope: Succeeded.
26 noiembrie 18:39:33 v2202102140578142103 systemd[1]: a început Sesiunea 115385 a serviciului pentru utilizatori.
Probabil ceva foarte simplu de remediat, dar nu sunt un expert în rețele Linux și nu am reușit să găsesc nimic util prin propria cercetare. Deci, sper că cineva poate să-mi arate limita pe care trebuie să o schimb pentru ca acest comportament să înceteze?
Mulțumesc anticipat!