SSH από το Μηδέν: Πρώτη Σύνδεση, Κλειδιά & Ασφάλεια
Συνδεθείτε στο πρώτο σας VPS με Ed25519 κλειδιά, ρυθμίστε δικαιώματα και κλειδώστε το SSH με UFW.
Χωρίς πρόσφατο έλεγχο περιεχομένου. Οι εντολές και τα παραδείγματα ενδέχεται να έχουν αλλάξει από τη δημοσίευση.
Συνδεθείτε στο πρώτο σας VPS με Ed25519 κλειδιά, ρυθμίστε δικαιώματα και κλειδώστε το SSH με UFW.
SSH από το Μηδέν: Πρώτη Σύνδεση, Κλειδιά & Ασφάλεια
Το Secure Shell (SSH) αποτελεί το παγκόσμιο βιομηχανικό πρότυπο για την ασφαλή, κρυπτογραφημένη απομακρυσμένη διαχείριση διακομιστών Linux. Η εποχή των απλών κωδικών πρόσβασης (passwords) έχει παρέλθει ανεπιστρεπτί: οποιοσδήποτε server εκτεθειμένος στο διαδίκτυο δέχεται καθημερινά χιλιάδες αυτοματοποιημένες επιθέσεις brute-force.
Σε αυτόν τον οδηγό θα μάθετε πώς να ρυθμίσετε πιστοποίηση μέσω κρυπτογραφικών κλειδιών Ed25519, πώς να οργανώσετε τις συνδέσεις σας με το ~/.ssh/config και πώς να κλειδώσετε το VPS σας.
1. Το Νοητικό Μοντέλο της Ασύμμετρης Κρυπτογραφίας
Το SSH βασίζεται σε ένα ζεύγος κλειδιών (Key Pair):
- Ιδιωτικό Κλειδί (Private Key -
id_ed25519): Μένει ΠΑΝΤΑ στον τοπικό σας υπολογιστή. Δεν το στέλνετε ποτέ μέσω chat, email ή Git repo. Προστατεύεται με passphrase. - Δημόσιο Κλειδί (Public Key -
id_ed25519.pub): Αντιγράφεται στον server (στο αρχείο~/.ssh/authorized_keys). Λειτουργεί σαν την κλειδαριά που μόνο το δικό σας ιδιωτικό κλειδί μπορεί να ξεκλειδώσει.
2. Δημιουργία Σύγχρονου Κλειδιού Ed25519
Ανοίξτε το τοπικό σας τερματικό και εκτελέστε:
bash# Παραγωγή σύγχρονου κλειδιού Ed25519 με σχόλιο το email σας ssh-keygen -t ed25519 -C "developer@roboschool.dev"
Όταν ερωτηθείτε για passphrase, πληκτρολογήστε έναν ισχυρό κωδικό. Αυτό κρυπτογραφεί το ιδιωτικό σας κλειδί στον τοπικό δίσκο, προστατεύοντάς σας ακόμα κι αν κλαπεί το laptop σας.
3. Αντιγραφή του Δημόσιου Κλειδιού στον Server
Μέθοδος Α (Προτεινόμενη): Με ssh-copy-id
bashssh-copy-id deploy@203.0.113.10
Μέθοδος Β (Χειροκίνητη, αν δεν υπάρχει ssh-copy-id):
bashcat ~/.ssh/id_ed25519.pub | ssh deploy@203.0.113.10 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
4. Κρίσιμα Δικαιώματα Αρχείων (Permissions)
Το SSH αρνείται να λειτουργήσει εάν τα δικαιώματα είναι χαλαρά (OpenSSH strict modes):
bash# Στον τοπικό υπολογιστή chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub # Στον απομακρυσμένο server chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
5. Οργάνωση Συνδέσεων με το ~/.ssh/config
Αντί να πληκτρολογείτε ssh -i ~/.ssh/id_ed25519 deploy@203.0.113.10 -p 22, δημιουργήστε το αρχείο ~/.ssh/config στον υπολογιστή σας:
ssh-configHost myserver HostName 203.0.113.10 User deploy IdentityFile ~/.ssh/id_ed25519 Port 22
Τώρα συνδέεστε άμεσα γράφοντας απλώς:
bashssh myserver
6. Βασική Σκλήρυνση VPS: Απενεργοποίηση Passwords
Αφού επιβεβαιώσετε ότι συνδέεστε με το κλειδί σας σε νέο παράθυρο τερματικού, απενεργοποιήστε τους κωδικούς στο /etc/ssh/sshd_config:
iniPasswordAuthentication no ChallengeResponseAuthentication no PermitRootLogin no
Επανεκκινήστε το SSH daemon και ενεργοποιήστε το firewall:
bashsudo systemctl reload sshd sudo ufw allow OpenSSH sudo ufw enable