Comment installer OpenSSH Server à partir de la source sous Linux
OpenSSH est une implémentation complète gratuite et open source du protocole SSH 2.0, qui fournit un certain nombre d’outils pour accéder et gérer en toute sécurité des systèmes informatiques distants, ainsi que pour gérer les clés d’authentification, telles que ssh (un remplacement sécurisé pour telnet), scp, sftp (remplacement sécurisé pour ftp), ssh-keygen, ssh-copy-id, ssh-add, etc.
Récemment, OpenSSH 9.3 a été publié et est livré avec de nombreuses nouvelles fonctionnalités et corrections de bogues ; vous pouvez lire les notes de mise à jour de SSH pour plus d’informations.
Dans cet article, nous allons vous expliquer comment installer et configurer la dernière version du serveur et du client OpenSSH sur un système Linux à partir des sources. Nous supposons que vous disposez d’une installation existante de la suite OpenSSH.
Exigences:
- Un système Linux Debian/Ubuntu ou RHEL/CentOS
- Compilateur C
- Zlib 1.1.4 ou 1.2.1.2 ou supérieur
- LibreSSL ou OpenSSL >=1.0.1 < 1.1.0
Installer OpenSSH Server à partir de la source
Avant d’installer la dernière version de SSH, assurez-vous de vérifier la version actuelle de SSH installée sur votre système à l’aide de la commande suivante.
$ ssh -V
OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g 1 Mar 2016
D’après le résultat ci-dessus, la version d’OpenSSH installée est la 7.7, pour installer la dernière version d’OpenSSH, vous devez d’abord installer quelques dépendances, c’est-à-dire des outils de développement ou des éléments essentiels de construction et les autres packages requis, comme suit.
-------------- 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
Pour créer un environnement approprié pour l’installation du serveur OpenSSH, nous devons créer un nouvel utilisateur système et un groupe nommé « sshd », ainsi qu’un endroit sûr pour chrooter.
$ 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
Explication des drapeaux dans la commande useradd ci-dessus :
-r– indique à useradd de créer un utilisateur système-U– lui indique de créer un groupe avec le même nom et le même ID de groupe-d– spécifie le répertoire de l’utilisateur-c– utilisé pour ajouter un commentaire-s– spécifie le shell de l’utilisateur
Maintenant, téléchargez l’archive tar d’OpenSSH version 9.3 à partir de l’un des miroirs HTTP disponibles ou vous pouvez utiliser la commande wget suivante pour télécharger directement dans votre terminal.
$ 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/
Maintenant, nous allons construire et installer le serveur OpenSSH en utilisant les options --with-md5-passwords, --with-privsep-path et --sysconfdir, qui installeront tous les fichiers dans /usr/local/ (c’est le préfixe d’installation par défaut).
Vous pouvez voir toutes les options disponibles en exécutant ./configure -h et en personnalisant davantage votre installation.
$ ./configure -h
Par exemple, pour activer la prise en charge de PAM et SELinux, ajoutez les options --with-pam et --with-selinux, respectivement, vous devez installer tous les fichiers d’en-tête nécessaires pour qu’ils fonctionnent.
## 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
Une fois que vous avez installé OpenSSH, redémarrez SSH ou ouvrez une autre fenêtre de terminal et vérifiez la version d’OpenSSH maintenant installée sur votre système.
$ ssh -V
OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021
Les différents fichiers de configuration OpenSSH se trouvent à l’adresse suivante :
- ~/.ssh/* – Ce répertoire stocke les configurations du client SSH spécifiques à l’utilisateur (alias SSH) et les clés.
- /etc/ssh/ssh_config – Ce fichier contient les configurations du client SSH à l’échelle du système.
- /etc/ssh/sshd_config – Contient les configurations du service SSHD.
Pour configurer des alias ssh, consultez : Comment configurer des connexions SSH personnalisées pour simplifier l’accès à distance
Vous pouvez également lire les articles suivants relatifs à SSH.
Voilà! Dans cet article, nous avons expliqué comment installer et configurer la dernière version du serveur OpenSSH à partir d’une source sur un système Linux. Si vous avez des questions ou des commentaires, utilisez le formulaire de commentaires ci-dessous pour nous joindre.