3.3 Δημιουργία SSH Key 🔑
Βήμα 1: Είσαι ως ansible user;
# Αν δεν είσαι ήδη:
sudo su - ansible
# Πρέπει να βλέπεις:
# ansible@ansible-controller:~$
Βήμα 2: Δημιουργία SSH Key Pair
# Δημιουργία ed25519 key
ssh-keygen -t ed25519 -C "ansible@ansible-controller"
# Θα σε ρωτήσει:
# Enter file in which to save the key (/home/ansible/.ssh/id_ed25519):
# → πάτα ENTER (αποδέξου το default)
# Enter passphrase (empty for no passphrase):
# → πάτα ENTER (κενό για automation!)
# Enter same passphrase again:
# → πάτα ENTER ξανά
Αναμενόμενο Output:
Generating public/private ed25519 key pair.
Your identification has been saved in /home/ansible/.ssh/id_ed25519
Your public key has been saved in /home/ansible/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ansible@ansible-controller
The key's randomart image is:
+--[ED25519 256]--+
| .. |
| ... |
| .o... |
+----[SHA256]-----+
Βήμα 3: Έλεγχος των Keys
# Δες τα αρχεία που δημιουργήθηκαν
ls -la ~/.ssh/
# Αναμενόμενο:
# -rw------- 1 ansible ansible 419 ... id_ed25519 ← private key
# -rw-r--r-- 1 ansible ansible 105 ... id_ed25519.pub ← public key
# Δες το PUBLIC key (αυτό θα στείλουμε στους servers)
cat ~/.ssh/id_ed25519.pub
# Κάτι σαν:
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... ansible@ansible-controller
⚠️ ΚΡΙΣΙΜΟ — Private vs Public Key:
id_ed25519 → PRIVATE key (permissions: 600) ΠΟΤΕ μην το μοιραστείς με κανέναν! Μένει ΠΑΝΤΑ στον controller. id_ed25519.pub → PUBLIC key (permissions: 644) Αυτό στέλνουμε στους managed servers. Μπορείς να το μοιραστείς ελεύθερα.
Βήμα 4: Επαλήθευση Permissions
# Τα permissions πρέπει να είναι ΑΚΡΙΒΩΣ έτσι:
ls -la ~/.ssh/
# id_ed25519 → -rw------- (600) ✅
# id_ed25519.pub → -rw-r--r-- (644) ✅
# Αν χρειαστεί να τα διορθώσεις:
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
Βήμα 5: Προσθήκη στο authorized_keys (για τον ίδιο τον controller)
# Χρήσιμο αν θέλουμε η Ansible να τρέχει tasks
# και στον ίδιο τον controller (localhost)
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# Επαλήθευση
cat ~/.ssh/authorized_keys
Έλεγχος 3.3
✅ ed25519 key pair δημιουργήθηκε
✅ Private key: /home/ansible/.ssh/id_ed25519 (600)
✅ Public key: /home/ansible/.ssh/id_ed25519.pub (644)
✅ authorized_keys δημιουργήθηκε (600)