Zoeken op website

Hoe OpenSSH Server vanaf de bron in Linux te installeren


OpenSSH is een gratis en open source, volledige implementatie van het SSH-protocol 2.0, dat een aantal tools biedt voor het veilig toegang krijgen tot en beheren van externe computersystemen, en het beheren van authenticatiesleutels, zoals ssh (een veilige vervanging voor telnet), scp, sftp (veilige vervanging voor ftp), ssh-keygen, ssh-copy-id, ssh-add en meer.

Onlangs is OpenSSH 9.3 uitgebracht en wordt geleverd met veel nieuwe functies en bugfixes; Voor meer informatie kunt u de SSH-release-opmerkingen lezen.

In dit artikel leggen we uit hoe je de nieuwste versie van de OpenSSH server en client op een Linux-systeem vanaf bronnen installeert en configureert. We gaan ervan uit dat u een bestaande installatie van de OpenSSH suite heeft.

Vereisten:

  • Een Debian/Ubuntu of RHEL/CentOS Linux-systeem
  • C-compiler
  • Zlib 1.1.4 of 1.2.1.2 of hoger
  • LibreSSL of OpenSSL >= 1.0.1 < 1.1.0

Installeer OpenSSH Server vanaf de bron

Voordat u de nieuwste versie van SSH installeert, moet u controleren welke versie van SSH op uw systeem is geïnstalleerd met behulp van de volgende opdracht.

ssh -V

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

Uit het bovenstaande resultaat blijkt dat de geïnstalleerde OpenSSH-versie 7.7 is. Om de nieuwste OpenSSH-versie te installeren, moet u eerst een paar afhankelijkheden installeren, dat wil zeggen ontwikkelingstools of build essentials en de andere vereiste pakketten, als volgt.

-------------- 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 

Om een goede omgeving te creëren voor het installeren van de OpenSSH server, moeten we een nieuwe systeemgebruiker en groep creëren met de naam “sshd”, evenals een veilige plek om 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

Uitleg van de vlaggen in het bovenstaande useradd-commando:

  • -r – vertelt useradd om een systeemgebruiker aan te maken
  • -U – geeft opdracht om een groep aan te maken met dezelfde naam en groeps-ID
  • -d – specificeert de map van de gebruiker
  • -c – gebruikt om commentaar toe te voegen
  • -s – specificeert de shell van de gebruiker

Download nu de tarball van OpenSSH versie 9.3 van een van de beschikbare HTTP-mirrors of u kunt de volgende wget-opdracht gebruiken om rechtstreeks naar uw terminal te downloaden.

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/

Nu gaan we de OpenSSH-server bouwen en installeren met behulp van de --with-md5-passwords, --with-privsep-path en --sysconfdir opties, die alle bestanden in /usr/local/ zullen installeren (dit is het standaard installatie-PREFIX).

U kunt alle beschikbare opties zien door ./configure -h uit te voeren en uw installatie verder aan te passen.

./configure -h

Om bijvoorbeeld PAM- en SELinux-ondersteuning in te schakelen, voegt u respectievelijk de --with-pam en --with-selinux opties toe, u moet alle benodigde headerbestanden installeren zodat ze kunnen werken.

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

Nadat u OpenSSH heeft geïnstalleerd, start u SSH opnieuw op of opent u een ander terminalvenster en controleert u welke versie van OpenSSH nu op uw systeem is geïnstalleerd.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

De verschillende OpenSSH-configuratiebestanden bevinden zich op:

  • ~/.ssh/* – deze map slaat gebruikersspecifieke ssh-clientconfiguraties (ssh-aliassen) en sleutels op.
  • /etc/ssh/ssh_config – dit bestand bevat systeembrede ssh-clientconfiguraties.
  • /etc/ssh/sshd_config – bevat sshd-serviceconfiguraties.

Om ssh-aliassen te configureren, zie: Aangepaste SSH-verbindingen configureren om externe toegang te vereenvoudigen

Misschien wilt u ook de volgende SSH-gerelateerde artikelen lezen.

Dat is het! In dit artikel hebben we uitgelegd hoe je de nieuwste versie van de OpenSSH-server installeert en configureert vanaf een bron op een Linux-systeem. Als u vragen of opmerkingen heeft, kunt u het onderstaande feedbackformulier gebruiken om ons te bereiken.