To παρακάτω παράδειγμα αφορά την σύνδεση του χρήστη karanik στο SSH Server με IP 192.168.1.80 στην πόρτα 3123


1ος Τρόπος [Απομακρυσμένα]

Στο τερματικό μας [Client] θα δημιουργήσουμε τα κλειδιά μας
ssh-keygen -t rsa

(Όταν ζητήσει κωδικό το αφήνω κενό)

Μετά φτιάχνω ένα φάκελο από τον Client στον SSH Server που θέλω να συνδέομαι

cat .ssh/id_rsa.pub | ssh -p 3123 karanik@192.168.1.80 mkdir -p .ssh

Και μετά αντιγράφω το δημόσιο κλειδί μου [Του Client, από τον Client] στον SSH Server που θέλω να συνδέομαι

cat .ssh/id_rsa.pub | ssh -p 3123 karanik@192.168.1.80 'cat >> .ssh/authorized_keys'

Και τέλος αλλάζω και τα δικαιώματα

ssh -p 3123 karanik@192.168.1.80 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Τώρα μπορώ να συνδεθώ από τον Client χωρίς κωδικό

ssh -p 3123 karanik@192.168.1.80

2ος Τρόπος [Αναλυτικά]

Συνδέομαι στον Server και κάνω εγκατάσταση τον SSH Server

sudo apt update
sudo apt install openssh-server

Ελέγχω αν θέλω οτι εγκαταστάθηκε σωστά και ότι η υπηρεσία τρέχει

sudo systemctl status ssh

Ρυθμίζω το firewall και ανοίγω την πόρτα 3123 στον Server

sudo ufw allow 3123
sudo ufw enable
sudo ufw status

Στο τερματικό [Client]

Στο τερματικό μας [Client] θα δημιουργήσουμε τα κλειδιά μας
ssh-keygen -t rsa

(Όταν ζητήσει κωδικό το αφήνω κενό)

Εμφανίζω το περιεχόμενο του αρχείου id_rsa.pub και το κάνω Copy

cat ~/cat .ssh/id_rsa.pub

Συνδέομαι και το κάνω επικόλληση στον Server στο ~/.ssh/authorized_key με τον επιθυμητό File Editor

nano .ssh/authorized_keys

Τώρα μπορώ να συνδεθώ από τον Client χωρίς κωδικό

ssh -p 3123 karanik@192.168.1.80

SSH key for all users

Φτίαχνουμε το αρχείο authorized_keys στο /etc/ssh

sudo touch /etc/ssh/authorized_keys

Ορίζουμε τα δικαιώματα (κλειδώνω στον root)

sudo chmod 600 /etc/ssh/authorized_keys

Πάμε στο αρχείο /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

Βρίσκουμε την γραμμή
AuthorizedKeysFile .ssh/authorized_keys

και την κάνουμε έτσι (προσθέτω δηλαδή την νέα διαδρομή για τα authorized_keys)

AuthorizedKeysFile .ssh/authorized_keys /etc/ssh/authorized_keys

Τέλος δίνω

sudo service sshd restart