Πώς να ασφαλίσετε το SSH σε Linux VPS

Από Ομάδα μηχανικών ONIE · Ενημερώθηκε 12 Νοεμβρίου 2026 · 3 λεπτά ανάγνωσης

Ένα δημόσιο VPS δέχεται αυτοματοποιημένες προσπάθειες σύνδεσης μέσα σε λίγα λεπτά από τη στιγμή που τίθεται σε λειτουργία. Με αυτά τα βήματα, η επίθεση στο SSH γίνεται πολύ δυσκολότερη. Τα βήματα είναι γραμμένα για Ubuntu ή Debian. Αν δεν έχετε δημιουργήσει ακόμη διακομιστή, μπορείτε να ενοικιάστε ένα Linux VPS και να ξεκινήσετε από μια καθαρή εικόνα. Κρατήστε ανοιχτή την τρέχουσα συνεδρία SSH μέχρι να δοκιμάσετε τις νέες ρυθμίσεις από δεύτερο παράθυρο.

1. Δημιουργία απλού χρήστη με sudo

adduser deploy
usermod -aG sudo deploy

2. Χρήση κλειδιών SSH αντί για κωδικούς

Στον δικό σας υπολογιστή:

ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IP

Συνδεθείτε μία φορά με το κλειδί για να βεβαιωθείτε ότι λειτουργεί, πριν απενεργοποιήσετε τους κωδικούς.

3. Απενεργοποίηση σύνδεσης με κωδικό και root

Δημιουργήστε το /etc/ssh/sshd_config.d/99-hardening.conf:

PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3

Ελέγξτε τη σύνταξη και επαναφορτώστε την υπηρεσία. Η υπηρεσία ονομάζεται ssh σε Ubuntu και Debian και sshd σε συστήματα βασισμένα στο RHEL:

sudo sshd -t && sudo systemctl reload ssh

Ανοίξτε δεύτερο τερματικό και συνδεθείτε ξανά. Μόνο τότε κλείστε την παλιά συνεδρία.

4. Ενεργοποίηση τείχους προστασίας

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Ανοίξτε μόνο τις θύρες που χρειάζεστε, για παράδειγμα τις 80 και 443 για διακομιστή ιστού. Μπορείτε επίσης να περιορίσετε το SSH στη δική σας διεύθυνση IP με κανόνα τείχους προστασίας στην κονσόλα του cloud.

5. Αποκλεισμός επαναλαμβανόμενων αποτυχιών με Fail2ban

sudo apt install -y fail2ban

Δημιουργήστε το /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

6. Αυτόματη εγκατάσταση ενημερώσεων ασφαλείας

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

7. Προαιρετικά επιπλέον βήματα

  • Η αλλαγή της θύρας SSH μειώνει τον θόρυβο στα αρχεία καταγραφής, αλλά από μόνη της δεν αποτελεί μέτρο ασφαλείας.
  • Προστατέψτε το ιδιωτικό κλειδί με φράση πρόσβασης και φυλάξτε αντίγραφο σε ασφαλές μέρος.
  • Ελέγξτε τις συνδέσεις με last και sudo journalctl -u ssh --since today.
  • Δημιουργήστε ένα snapshot αφού ρυθμιστεί ο διακομιστής, ώστε να μπορείτε να επαναφέρετε μια καθαρή βασική κατάσταση.

Αν κλειδώσετε την πρόσβαση, χρησιμοποιήστε την κονσόλα του προγράμματος περιήγησης στο πάνελ του cloud για να συνδεθείτε και να διορθώσετε τη ρύθμιση. Ο οδηγός προστασίας από DDoS καλύπτει το επόμενο επίπεδο άμυνας.

Συχνές ερωτήσεις

Είναι ασφαλές να απενεργοποιήσω τη σύνδεση ως root;

Ναι, αν πρώτα δημιουργήσετε χρήστη sudo και δοκιμάσετε ότι λειτουργεί το κλειδί του. Μπορείτε να εκτελείτε διαχειριστικές εντολές με sudo.

Χρειάζομαι Fail2ban αν χρησιμοποιώ μόνο κλειδιά;

Είναι προαιρετικό. Με απενεργοποιημένη τη σύνδεση με κωδικό, η επίθεση brute force δεν μπορεί να πετύχει, όμως το Fail2ban μειώνει τον θόρυβο στα αρχεία καταγραφής και το φορτίο.

Τι γίνεται αν χάσω το κλειδί SSH;

Χρησιμοποιήστε την κονσόλα στο πάνελ του cloud για να συνδεθείτε, προσθέστε το νέο δημόσιο κλειδί στο ~/.ssh/authorized_keys και αφαιρέστε το παλιό.

Πηγές και περαιτέρω ανάγνωση

Περισσότεροι οδηγοί VPS