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