Αποτροπή SSH Connection Timing Out / Broken Pipe

Αυτό το σεμινάριο σας προσφέρει μια πολύ καλή λύση εάν χρησιμοποιείτε συνδέσεις SSH και αντιμετωπίσετε το σφάλμα: SSH Connection Timing Out / Broken Pipe. Λάθος που λέγεται εσφαλμένα. Είναι ένα μήνυμα που ανακοινώνει ότι η σύνδεση μεταξύ του υπολογιστή σας και του διακομιστή στον οποίο συνδέθηκε έκλεισε Putty ή Terminal.

Και οι δύο ως χρήστες του Windows καθώς και από Mac (τα τελευταία 10 χρόνια) πέρασα πολύ χρόνο Συνδέσεις SSH σε διακομιστές ιστού, διακομιστές email, cloud και άλλα πακέτα αντιγράφων ασφαλείας. Αγαπημένη διανομή του Linux είναι αναμφίβολα CentOS.

Ένα από τα πιο αγχωτικά πράγματα που πρέπει να κάνετε administratorii διακομιστής είναι για να διακόψετε τις συνδέσεις SSH. Είτε ξαφνικά κουμπώνοντας στο Putty είτε Terminal (τις περισσότερες φορές πρόκειται για πρόβλημα τοπικής σύνδεσης), ή μετά από ένα χρονικό διάστημα "idle- το χρονικό διάστημα κατά το οποίο δεν αλληλεπιδρά με τον απομακρυσμένο διακομιστή μέσω της περιόδου σύνδεσης SSH.

Εάν χρησιμοποιείτε το Mac και χρησιμοποιήστε το βοηθητικό πρόγραμμα Terminal για την απομακρυσμένη σύνδεση μέσω SSH, τότε σίγουρα μετά από κάποια αδράνεια αποσυνδέθηκες με το μήνυμα:client_loop: send disconnect: Broken pipe". Έδωσα τη λύση το άρθρο εδώ, στο οποίο είπα ότι μπορεί να προστεθεί στο "/etc/ssh/ssh_config" η γραμμή:

Host *
ServerAliveInterval 120

Η παραπάνω λύση ισχύει για χρήστες του Mac, και ειλικρινά να είναι οι τελευταίες ενημερώσεις του macOS Δεν διατηρώ τις αλλαγές που έγιναν στο αρχείο μετά την επανεκκίνησηssh_config", Και το πρόβλημα με την αποσύνδεση μιας περιόδου αδράνειας επιστρέφει.

Μια λύση με την οποία μπορούμε να αποτρέψουμε την αποσύνδεση μιας περιόδου λειτουργίας SSH σε απόσταση που έχει οριστεί Terminal (macOS) ή στόκος (Windows), είναι σαν εκτός από το "ServerAliveInterval"Από τον υπολογιστή μας, για να καθορίσουμε τον απομακρυσμένο διακομιστή να επικοινωνεί περιοδικά με την εφαρμογή / πελάτη SSH.
Γι 'αυτό πρέπει να θέσουμε την οδηγία "ClientAliveInterval" σε "sshd_config"Στον διακομιστή με τον οποίο συνδέουμε.

Αποτροπή SSH Connection Timing Out / Broken Pipe (ssh_config συμβουλές)

1. Συνδεόμαστε στον διακομιστή που θέλουμε να ενεργοποιήσουμε και ορίζουμε ένα χρονικό διάστημα για το "ClientAliveInternal". Άνοιξε SSH in Putty, Terminal ή άλλο παρόμοιο βοηθητικό πρόγραμμα και ελέγχουμε ταυτότητα με τον χρήστη root.

ssh root@server.hostname

2. Εκτελέστε τη γραμμή εντολών για αναζήτηση στο αρχείο "sshd_config" αν "ClientAliveInterval” είναι ενεργό και ποια είναι η καθορισμένη χρονική περίοδος.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Στο δικό μας σενάριο"ClientAliveIntervalΤο ” είναι απενεργοποιημένο και η τιμή του χρονικού διαστήματος είναι μηδέν.

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

Το hashtag "#"Τοποθετημένο μπροστά από μια γραμμή, το ακυρώνει. Είναι ανενεργή.

3. Ανοίγουμε με τον συντάκτη "nano"Sau"vim"Αρχείο"sshd_config". Προτιμώ "nano".

sudo nano /etc/ssh/sshd_config

4. Διαγραφή "#"Μπροστά στη γραμμή"ClientAliveInterval"Και ορίστε έναν αριθμό δευτερολέπτων: 60, 120…

ClientAliveInterval 120
ClientAliveCountMax 10

5. Αποθηκεύστε τις αλλαγές και επανεκκινήστε την υπηρεσία "sshd".

sudo systemctl restart sshd

ClientAliveInterval : Είναι το χρονικό διάστημα σε δευτερόλεπτα που ο διακομιστής στέλνει ένα πακέτο δεδομένων null στον πελάτη / εφαρμογή μέσω της οποίας είμαστε συνδεδεμένοι στον διακομιστή. Αυτή η πρακτική θα διατηρήσει τη σύνδεση ζωντανή / ενεργή.

ClientAliveCountMax : Μη ανταποκρινόμενοι πελάτες SSH σε 10 κύκλους 120 δευτερολέπτων (που καθορίζονται από "ClientAliveInterval") η σύνδεση θα διακοπεί. Δηλαδή μετά από 20 λεπτά στα οποία ο πελάτης SSH δεν απάντησε σε μηδενικά πακέτα που αποστέλλονται από τον διακομιστή.

Με αυτές τις αλλαγές η σύνδεση SSH θα είναι πιο σταθερό και θα παραμείνει ως ασφαλές.

Παθιασμένος με την τεχνολογία, γράφω με ευχαρίστηση StealthSettings.com από το 2006. Έχω μεγάλη εμπειρία σε λειτουργικά συστήματα: macOS, Windows και Linux, αλλά και σε γλώσσες προγραμματισμού και πλατφόρμες blogging (WordPress) και για ηλεκτρονικά καταστήματα (WooCommerce, Magento, PrestaShop).

πώς να » Linux » Αποτροπή SSH Connection Timing Out / Broken Pipe
Αφήστε ένα σχόλιο