Sobes.tech
Junior

Τι να κάνετε αν η σύνδεση SSH κολλήσει;

sobes.tech AI

Απάντηση από AI

  1. Ελέγξτε τη σύνδεση δικτύου: Βεβαιωθείτε ότι δεν υπάρχουν προβλήματα με τη σύνδεση στο διαδίκτυο ή το τοπικό δίκτυο. Πραγματοποιήστε ping στον διακομιστή.
  2. Ελέγξτε το φορτίο του διακομιστή: Ίσως ο διακομιστής να είναι υπερφορτωμένος (CPU, RAM, I/O). Χρησιμοποιήστε εργαλεία παρακολούθησης ή προσπαθήστε να αποκτήσετε πρόσβαση μέσω της κονσόλας του hypervisor/προμηθευτή.
  3. Επανεκκινήστε την υπηρεσία SSH: Στην πλευρά του διακομιστή, αν έχετε πρόσβαση με άλλους τρόπους (κονσόλα, άλλος διακομιστής SSH).
    # για συστήματα βασισμένα σε systemd
    sudo systemctl restart sshd.service
    
    # για συστήματα βασισμένα σε SysV init
    sudo service ssh restart
    
  4. Ελέγξτε τις ρυθμίσεις του διακομιστή SSH: Αρχείο /etc/ssh/sshd_config, δώστε προσοχή στις παραμέτρους ClientAliveInterval και ClientAliveCountMax.
    # /etc/ssh/sshd_config
    ClientAliveInterval 60 # αποστέλλει μήνυμα ζωής κάθε 60 δευτερόλεπτα
    ClientAliveCountMax 3  # επιτρέπει 3 λείποντα μηνύματα ζωής
    
    Μετά την αλλαγή των ρυθμίσεων, επανεκκινήστε την υπηρεσία SSH.
  5. Ελέγξτε τις ρυθμίσεις του πελάτη SSH: Αρχείο ~/.ssh/config ή επιλογές γραμμής εντολών (-o). Παράμετροι ServerAliveInterval και ServerAliveCountMax.
    # ~/.ssh/config
    Host το_ψευδώνυμο_του_διακομιστή
        Hostname η_διεύθυνση_ip_ή_το_όνομα_υποδοχής
        ServerAliveInterval 60
        ServerAliveCountMax 3
    
    Ή κατά τη σύνδεση:
    ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 χρήστης@η_διεύθυνση_ip_ή_το_όνομα_υποδοχής
    
  6. Ελέγξτε τα τείχη προστασίας: Βεβαιωθείτε ότι τα τείχη προστασίας (τοπικά στον πελάτη, στον διακομιστή, στο δίκτυο) δεν αποκλείουν ή διακόπτουν τη σύνδεση στην πόρτα 22 (ή σε άλλη χρησιμοποιούμενη πόρτα SSH).
  7. Ελέγξτε τα TMOUT/IDLE-Timeouts: Ορισμένα τερματικά ή περιβάλλοντα έχουν τις δικές τους ρυθμίσεις χρονικού ορίου αδράνειας, που μπορεί να οδηγήσουν σε διακοπή της σύνδεσης. Ελέγξτε τη μεταβλητή TMOUT στη συνεδρία bash στον διακομιστή.
    # ελέγξτε τη μεταβλητή
    echo $TMOUT 
    
    # ορίστε την τιμή (π.χ., 3600 δευτερόλεπτα)
    export TMOUT=3600 
    
    Αυτό είναι μια προσωρινή λύση για την τρέχουσα συνεδρία. Για μόνιμες αλλαγές, επεξεργαστείτε αρχεία .bashrc, .profile κ.λπ.
  8. Χρησιμοποιήστε την επιλογή -v για αποσφαλμάτωση: Αναλυτική παρουσίαση της διαδικασίας σύνδεσης SSH.
    ssh -v χρήστης@η_διεύθυνση_ip_ή_το_όνομα_υποδοχής
    
  9. Ελέγξτε τα αρχεία καταγραφής SSH: Στην πλευρά του διακομιστή, /var/log/auth.log ή /var/log/secure (ανάλογα με το λειτουργικό σύστημα).
    # δείτε τις τελευταίες καταχωρίσεις στο αρχείο καταγραφής αυθεντικοποίησης
    sudo tail /var/log/auth.log
    
  10. Χρησιμοποιήστε εναλλακτική θύρα ή πρωτόκολλο: Αν η προεπιλεγμένη θύρα 22 μπλοκάρεται κάπου στο δίκτυο, δοκιμάστε να χρησιμοποιήσετε άλλη θύρα, αν έχει διαμορφωθεί στον διακομιστή. Ή χρησιμοποιήστε άλλο πρωτόκολλο πρόσβασης (π.χ., κονσόλα).