SSH με χρήση κλειδιών
Για να συνδεόμαστε σε ενα σύστημα με SSH χώρις να χρειάζετε να πληκτρολογούμε καθε φορά κωδικό(remote backup πχ), κανουμε τα παρακάτω :
- Το σύστημα απο το οποίο κάνουμε/ξεκινάμε την συνδεση θα αναφέρεται απο εδω κ στο εξης ως client.
- Ομοίως το συστημα στο οποίο συνδεόμαστε θα αναφέρεται ως server.
- Οι παρακάτω πληροφορίες λειτουργούν μόνο σε OpenSSH.
- Στο παράδειγμα χρησιμοποιούμε DSA keys. Αν θέλουμε RSA keys αντικαθιστούμε το ‘rsa’ με ‘dsa’.
- Για να πετύχει η διαδικασία πρέπει να δωθούν οι εντολές σε Bourne-like κέλυφος (sh, ksh or bash)
Βήματα:
- Στον client εκτελούμε τις παρακάτω εντολές:
- $ mkdir -p $HOME/.ssh
- $ chmod 0700 $HOME/.ssh
- $ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ”
Αυτο θα μας δημιουργήσει 2 αρχεία,
1) $HOME/.ssh/id_dsa (private key) και
2) $HOME/.ssh/id_dsa.pub (public key).
- Αντιγράφουμε το $HOME/.ssh/id_dsa.pub στον server.
- Εκτελούμε τα παρακάτω στον server :
- $ cat id_dsa.pub >> $HOME/.ssh/authorized_keys2
- $ chmod 0600 $HOME/.ssh/authorized_keys2
Αναλόγως την έκδοση του που έχουμε OpenSSH ίσως να χρειαστούν και οι παρακάτω εντολές:
$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys
$ chmod 0600 $HOME/.ssh/authorized_keys
- Ελέγχουμε την ορθή λειτουργία στον client δοκιμάζοντας την σύνδεση με τον server ώς εξής :
- $ ssh -i $HOME/.ssh/id_dsa server
- Host server
- IdentityFile ~/.ssh/id_dsa
- (Προεραιτικά) Προσθέτουμε τις παρακάτω γραμμές στο αρχείο $HOME/.ssh/config στον client:
Αυτο μας επιτρέπει να καλουμε το ssh χωρις την χρήση του διακόπτη –i και την διαδρομη του κλειδιού.πχ : ssh root@server
That’s all folks 😀