Recherche de site Web

Comment installer le serveur OpenSSH à partir de la source sous Linux


OpenSSH est une implémentation 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é les systèmes informatiques distants, ainsi que pour gérer les clés d'authentification. tels que ssh (un remplacement sécurisé de telnet), scp, sftp (remplacement sécurisé de ftp), ssh-keygen, ssh-copy-id, ssh-add, et plus encore.

Récemment, OpenSSH 9.3 a été publié et est livré avec de nombreuses nouvelles fonctionnalités et corrections de bugs ; vous pouvez lire les notes de version SSH pour plus d'informations.

Dans cet article, nous expliquerons 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 le serveur OpenSSH à 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 OpenSSH installée est 7.7, pour installer la dernière version OpenSSH, vous devez d'abord installer quelques dépendances, c'est-à-dire les outils de développement ou les éléments essentiels de build 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 et un nouveau groupe système nommés « sshd », ainsi qu'un emplacement sûr pour 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

Expliquer les indicateurs dans la commande useradd ci-dessus :

  • -r – indique à useradd de créer un utilisateur système
  • -U – lui demande de créer un groupe avec le même nom et le même identifiant 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/

Nous allons maintenant créer et installer le serveur OpenSSH en utilisant --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 respectivement les options --with-pam et --with-selinux, vous devez installer tous les fichiers d'en-tête nécessaires pour qu'ils travaillent.

## 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 de 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 :

  • ~/.ssh/* – ce répertoire stocke les configurations 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 les alias SSH, consultez : Comment configurer des connexions SSH personnalisées pour simplifier l'accès à distance

Vous aimerez peut-être également lire les articles suivants relatifs à SSH.

C'est ça! 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 contacter.