Πώς να εγκαταστήσετε το διακομιστή OpenSSH από το Source στο Linux


Το OpenSSH είναι δωρεάν και ανοιχτού κώδικα, πλήρης εφαρμογή του πρωτοκόλλου SSH 2.0, το οποίο παρέχει μια σειρά εργαλείων για ασφαλή πρόσβαση και διαχείριση απομακρυσμένων συστημάτων υπολογιστών και διαχείριση κλειδιών ελέγχου ταυτότητας, όπως ssh (ασφαλής αντικατάσταση για telnet), scp, sftp (ασφαλής αντικατάσταση για ftp), ssh-keygen, ssh-copy-id, ssh-add και άλλα.

Πρόσφατα κυκλοφόρησε το OpenSSH 9.3 και διατίθεται με πολλές νέες δυνατότητες και διορθώσεις σφαλμάτων. μπορείτε να διαβάσετε τις σημειώσεις έκδοσης SSH για περισσότερες πληροφορίες.

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να εγκαταστήσετε και να διαμορφώσετε την πιο πρόσφατη έκδοση του διακομιστή και του προγράμματος-πελάτη OpenSSH σε ένα σύστημα Linux από πηγές. Υποθέτουμε ότι έχετε μια υπάρχουσα εγκατάσταση της σουίτας OpenSSH.

Απαιτήσεις:

  • Ένα σύστημα Linux Debian/Ubuntu ή RHEL/CentOS
  • C compiler
  • Zlib 1.1.4 ή 1.2.1.2 ή νεότερη έκδοση
  • LibreSSL ή OpenSSL >= 1.0.1 < 1.1.0

Εγκαταστήστε το διακομιστή OpenSSH από την πηγή

Πριν εγκαταστήσετε την πιο πρόσφατη έκδοση του SSH, βεβαιωθείτε ότι έχετε ελέγξει την τρέχουσα έκδοση του SSH που είναι εγκατεστημένη στο σύστημά σας χρησιμοποιώντας την ακόλουθη εντολή.

ssh -V

OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g	1 Mar 2016

Από το παραπάνω αποτέλεσμα, η εγκατεστημένη έκδοση OpenSSH είναι 7.7, για να εγκαταστήσετε την πιο πρόσφατη έκδοση OpenSSH, πρώτα πρέπει να εγκαταστήσετε μερικές εξαρτήσεις, δηλαδή εργαλεία ανάπτυξης ή βασικά στοιχεία κατασκευής και τα άλλα απαιτούμενα πακέτα, ως εξής.

-------------- On RedHat-based Distros --------------
sudo yum update
sudo yum group install 'Development Tools'
sudo yum install zlib-devel openssl-devel

-------------- On Debian-based Distros --------------
sudo apt update 
sudo apt install build-essential zlib1g-dev libssl-dev 

Για να δημιουργήσουμε ένα κατάλληλο περιβάλλον για την εγκατάσταση του διακομιστή OpenSSH, πρέπει να δημιουργήσουμε έναν νέο χρήστη και ομάδα συστήματος με το όνομα “sshd”, καθώς και ένα ασφαλές μέρος για chroot.

sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd

Εξήγηση των σημαιών στην παραπάνω εντολή useradd:

  • -r – λέει στο useradd να δημιουργήσει έναν χρήστη συστήματος
  • -U – του δίνει εντολή να δημιουργήσει μια ομάδα με το ίδιο όνομα και το ίδιο αναγνωριστικό ομάδας
  • -d – καθορίζει τον κατάλογο του χρήστη
  • -c – χρησιμοποιείται για την προσθήκη σχολίου
  • -s – καθορίζει το κέλυφος του χρήστη

Τώρα, κατεβάστε το tarball της έκδοσης OpenSSH 9.3 από οποιονδήποτε από τους διαθέσιμους καθρέφτες HTTP ή μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή wget για λήψη απευθείας στο τερματικό σας.

wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar -xzf openssh-9.3p1.tar.gz
cd openssh-9.3p1/

Τώρα θα δημιουργήσουμε και θα εγκαταστήσουμε τον διακομιστή OpenSSH χρησιμοποιώντας τα --with-md5-passwords, --with-privsep-path και --sysconfdir, οι οποίες θα εγκαταστήσουν όλα τα αρχεία στο /usr/local/ (αυτό είναι το προεπιλεγμένο PREFIX εγκατάστασης).

Μπορείτε να δείτε όλες τις διαθέσιμες επιλογές εκτελώντας το ./configure -h και προσαρμόζοντας περαιτέρω την εγκατάστασή σας.

./configure -h

Για παράδειγμα, για να ενεργοποιήσετε την υποστήριξη PAM και SELinux, προσθέστε τις επιλογές --with-pam και --with-selinux, αντίστοιχα, πρέπει να εγκαταστήσετε όλα τα απαραίτητα αρχεία κεφαλίδας για να δουλέψουν.

## Install PAM and SELinux Headers ##
sudo apt install libpam0g-dev libselinux1-dev   [On Debian/Ubuntu]
sudo yum install pam-devel libselinux-devel     [On CentOS/RHEL]

## Compile and Install SSH from Sources ##
./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
make
sudo make install 

Αφού εγκαταστήσετε το OpenSSH, επανεκκινήστε το SSH ή ανοίξτε ένα άλλο παράθυρο τερματικού και ελέγξτε την έκδοση του OpenSSH που είναι τώρα εγκατεστημένη στο σύστημά σας.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

Τα διάφορα αρχεία διαμόρφωσης OpenSSH βρίσκονται στη διεύθυνση:

  • ~/.ssh/* – αυτός ο κατάλογος αποθηκεύει διαμορφώσεις πελάτη ssh (ψευδώνυμα ssh) και κλειδιά για συγκεκριμένους χρήστες.
  • /etc/ssh/ssh_config – αυτό το αρχείο περιέχει διαμορφώσεις πελάτη ssh σε όλο το σύστημα.
  • /etc/ssh/sshd_config – περιέχει διαμορφώσεις υπηρεσίας sshd.

Για να ρυθμίσετε τα ψευδώνυμα ssh, δείτε: Πώς να ρυθμίσετε τις προσαρμοσμένες συνδέσεις SSH για να απλοποιήσετε την απομακρυσμένη πρόσβαση

Μπορεί επίσης να θέλετε να διαβάσετε τα ακόλουθα άρθρα που σχετίζονται με το SSH.

Αυτό είναι! Σε αυτό το άρθρο, εξηγήσαμε πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους της πιο πρόσφατης έκδοσης του διακομιστή OpenSSH από μια πηγή σε ένα σύστημα Linux. Εάν έχετε ερωτήσεις ή σχόλια, χρησιμοποιήστε την παρακάτω φόρμα σχολίων για να επικοινωνήσετε μαζί μας.