Estää SSH Connection Timing Out / Broken Pipe

Tämä opetusohjelma tarjoaa sinulle erittäin hyvän ratkaisun, jos käytät SSH-yhteyksiä ja kohtaat virheen: SSH Connection Timing Out / Broken Pipe. Väärin sanottu virhe. Se on viesti, joka ilmoittaa, että yhteys tietokoneesi ja sen palvelimen välillä, johon se oli yhteydessä, on katkaistu Putty tai Terminal.

Molemmat käyttäjän Windows samoin kuin Mac (viimeisten 10 vuoden aikana) vietin paljon aikaa SSH-yhteydet verkkopalvelimiin, sähköpostipalvelimiin, pilveen ja muihin varmuuskopiopaketteihin. Suosikkijakelu Linux on epäilemättä CentOS.

Yksi stressaavimmista asioista administratorpalvelimien ii on keskeyttää SSH-yhteydet. Joko yhtäkkiä painittaessa Puttyssa tai Terminal (useimmiten se on paikallinen yhteysongelma) tai jonkin ajan kuluttua "idle”- ajanjakso, jonka aikana se ei ole vuorovaikutuksessa etäpalvelimen kanssa SSH-istunnon kautta.

Jos käytät Mac ja käytä apuohjelmaa Terminal etäyhteyttä varten SSH:n kautta, niin varmasti jonkin toimettomuuden jälkeen yhteys katkesi viestin kanssa:client_loop: send disconnect: Broken pipe”. Annoin ratkaisun artikkeli täällä, jossa sanoin, että se voidaan lisätä "/etc/ssh/ssh_config" linja:

Host *
ServerAliveInterval 120

Yllä oleva ratkaisu pätee verkkotunnuksen käyttäjille Mac, ja rehellisesti olla viimeisimmät päivitykset macOS En säilytä tiedostoon tehtyjä muutoksia uudelleenkäynnistyksen jälkeenssh_config", Ja joutokäynnin katkaisemisen ongelma palaa.

Ratkaisu, jolla voimme estää SSH-istunnon irtikytkemisen asettamalla etäisyydellä Terminal (macOS) Tai kitti (Windows), on kuin ”ServerAliveInterval”Tietokoneeltamme määritetään etäpalvelin kommunikoimaan säännöllisesti SSH-sovelluksen / asiakkaan kanssa.
Siksi meidän on annettava direktiivi "ClientAliveInterval" sisään "sshd_config”Palvelimella, johon olemme yhteydessä.

Estää SSH Connection Timing Out / Broken Pipe (ssh_config Vinkkejä)

1. Yhdistämme palvelimeen, jonka haluamme aktivoida, ja asetamme aikavälin "ClientAliveInternal". avata SSH in Putty, Terminal tai muu vastaava apuohjelma ja todennamme käyttäjän kanssa root.

ssh root@server.hostname

2. Suorita komentorivi etsiäksesi tiedostosta "sshd_config"jos"ClientAliveInterval” on aktiivinen ja mikä on asetettu aika.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Meidän skenaariossamme"ClientAliveInterval” on poissa käytöstä ja aikavälin arvo on nolla.

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

Hashtag "#"Sijoitettu viivan eteen, peruuttaa sen. Hän ei ole aktiivinen.

3. Avaamme editorin kanssa "nano"Tai"vim"Tiedosto"sshd_config". Minä suosin "nano".

sudo nano /etc/ssh/sshd_config

4. Poista ”#"Rivin edessä"ClientAliveInterval”Ja aseta sekuntien määrä: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Tallenna muutokset ja käynnistä palvelu uudelleen "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Se on aikaväli sekunneissa, jolloin palvelin lähettää tyhjän datapaketin asiakkaalle / sovellukselle, jonka kautta olemme yhteydessä palvelimeen. Tämä käytäntö pitää yhteyden elossa / aktiivisena.

ClientAliveCountMax : Ei vastaa SSH-asiakkaille 10 syklissä 120 sekuntia (asettanut "ClientAliveInterval") yhteys katkeaa. Eli 20 minuutin kuluttua, jolloin asiakas SSH ei vastannut palvelimen lähettämiin nollapaketteihin.

Näillä muutoksilla yhteys SSH se on vakaampi ja pysyy yhtä turvallisena.

Teknologiasta kiinnostunut, kirjoitan mielelläni StealthSettings.com-sivustolla vuodesta 2006. Minulla on laaja kokemus käyttöjärjestelmistä: macOS, Windows ja Linux, sekä ohjelmointikielistä ja blogialustoista (WordPress) ja verkkokaupoista (WooCommerce, Magento, PrestaShop).

Miten » Linux » Estää SSH Connection Timing Out / Broken Pipe
Jätä kommentti