SSH με χρήση κλειδιών – Passwordless SSH

SSH με χρήση κλειδιών

Για να συνδεόμαστε σε ενα σύστημα με SSH χώρις να χρειάζετε να πληκτρολογούμε καθε φορά κωδικό(remote backup πχ), κανουμε τα παρακάτω :

  • Το  σύστημα απο το οποίο κάνουμε/ξεκινάμε την συνδεση θα αναφέρεται απο εδω κ στο εξης ως client.
  • Ομοίως το συστημα στο οποίο συνδεόμαστε θα αναφέρεται ως server.
  • Οι παρακάτω πληροφορίες λειτουργούν μόνο σε  OpenSSH.
  • Στο παράδειγμα χρησιμοποιούμε DSA keys. Αν θέλουμε RSA keys αντικαθιστούμε το  ‘rsa’ με ‘dsa’.
  • Για να πετύχει  η διαδικασία πρέπει να δωθούν οι εντολές σε Bourne-like κέλυφος (sh, ksh or bash)

Βήματα:

  1. Στον  client εκτελούμε τις παρακάτω εντολές:
  1. $ mkdir -p $HOME/.ssh
  2. $ chmod 0700 $HOME/.ssh
  3. $ 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).

  1. Αντιγράφουμε το  $HOME/.ssh/id_dsa.pub στον  server.
  2. Εκτελούμε τα παρακάτω στον server :
  1. $ cat id_dsa.pub >> $HOME/.ssh/authorized_keys2
  2. $ chmod 0600 $HOME/.ssh/authorized_keys2

Αναλόγως την έκδοση του που έχουμε OpenSSH ίσως να χρειαστούν και οι παρακάτω εντολές:

$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys

$ chmod 0600 $HOME/.ssh/authorized_keys

  1. Ελέγχουμε την ορθή λειτουργία στον  client δοκιμάζοντας την σύνδεση με τον  server ώς εξής :
  1. $ ssh -i $HOME/.ssh/id_dsa server
  2. Host server
  3. IdentityFile ~/.ssh/id_dsa
  1. (Προεραιτικά) Προσθέτουμε τις παρακάτω γραμμές στο αρχείο $HOME/.ssh/config στον client:

Αυτο μας επιτρέπει να καλουμε το ssh χωρις την χρήση του διακόπτη –i και την διαδρομη του κλειδιού.πχ : ssh root@server

That’s all folks 😀