Takistama SSH Connection Timing Out / Broken Pipe

See õpetus pakub teile väga head lahendust, kui kasutate SSH-ühendusi ja ilmneb tõrge: SSH Connection Timing Out / Broken Pipe. Valesti öeldud viga. See on teade, mis teatab, et ühendus teie arvuti ja serveri vahel, millega see ühendatud oli, on suletud Putty või Terminal.

Mõlemad kui kasutaja Windows samuti poolt Mac (viimase 10 aasta jooksul) veetsin palju aega SSH-ühendused veebiserveritele, meiliserveritele, pilve- ja muudele varupakettidele. Lemmik levitamine Linux on kahtlemata CentOS.

Üks pingelisemaid asju, mida teha administratorii server on SSH-ühenduste katkestamiseks. Kas äkki Putty nööbimise ajal või Terminal (enamasti on see kohaliku ühenduse probleem) või pärast mõnda aega "idle”- ajavahemik, mille jooksul see ei suhtle SSH-seansi kaudu kaugserveriga.

Kui kasutate Mac ja kasutage utiliiti Terminal kaugühenduse jaoks SSH kaudu, siis pärast mõningast tegevusetust katkestati teie ühendus sõnumiga:client_loop: send disconnect: Broken pipe”. Andsin lahuse sisse siinne artikkel, milles ütlesin, et seda saab lisada/etc/ssh/ssh_config"rida:

Host *
ServerAliveInterval 120

Ülaltoodud lahendus kehtib domeeni Macja ausalt öeldes macOS Ma ei säilita pärast taaskäivitamist failis tehtud muudatusissh_config", Ja tühikäigu seansi katkestamise probleem taastub.

Lahendus, mille abil saame takistada SSH-seansi lahtiühendamist määratud kaugusel Terminal (macOS) või kitt (Windows), on nagu lisaksServerAliveInterval”Meie arvutist, et määrata kaugserver perioodiliselt SSH-rakenduse / kliendiga suhtlemiseks.
Sellepärast peame direktiivi panema "ClientAliveInterval" sisse "sshd_config”Serveris, millega me ühendust loome.

Takistama SSH Connection Timing Out / Broken Pipe (ssh_config näpunäiteid)

1. Loome ühenduse serveriga, mida tahame aktiveerida, ja määrame ajavahemiku "ClientAliveInternal". avatud SSH in Putty, Terminal või mõni muu sarnane utiliit ja autentitakse kasutajaga root.

ssh root@server.hostname

2. Käivitage käsurida, et otsida failist "sshd_config"kui"ClientAliveInterval” on aktiivne ja milline on määratud ajaperiood.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Meie stsenaariumi järgi"ClientAliveInterval” on keelatud ja ajaintervalli väärtus on null.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

Räsimärk "#"Joone ette paigutatud tühistab selle. Ta on passiivne.

3. Avame redaktoriga "nano"Või"vim"Fail"sshd_config". Ma eelistan "nano".

sudo nano /etc/ssh/sshd_config

4. Kustuta#"Rida ees"ClientAliveInterval”Ja määrake sekundite arv: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Salvestage muudatused ja taaskäivitage teenus "sshd".

sudo systemctl restart sshd

ClientAliveInterval : See on ajavahemik sekundites, kui server saadab kliendile / rakendusele, mille kaudu oleme serveriga ühendatud, nullandmete paketi. See tava hoiab ühenduse elus / aktiivsena.

ClientAliveCountMax : Ei reageeri SSH-klientidele 10 tsükliga 120 sekundit (määraja "ClientAliveInterval") ühendus katkeb. See tähendab, et pärast 20 minutit, mille jooksul klient SSH ei vastanud serveri saadetud nullpakettidele.

Nende muudatustega ühendus SSH see on stabiilsem ja jääb sama turvaliseks.

Tehnoloogiafännina olen alates 2006. aastast rõõmuga kirjutanud lehel StealthSettings.com. Mul on laialdased kogemused operatsioonisüsteemides: macOS, Windows ja Linux, samuti programmeerimiskeeltes ja blogiplatvormides (WordPress) ning veebipoodide ja platvormidega (WooCommerce, Magento, PrestaShop).

kuidas » Linux » Takistama SSH Connection Timing Out / Broken Pipe
Jäta kommentaar