Sådan installeres OpenSSH 8.0-server fra kilde i Linux


OpenSSH er en gratis og open source, fuld implementering af SSH-protokollen 2.0. Det giver et antal værktøjer til sikker adgang til og styring af eksterne computersystemer og styring af godkendelsesnøgler, såsom ssh (en sikker erstatning for telnet), ssh-keygen, ssh-copy-id, ssh-add og mere.

For nylig blev OpenSSH 8.0 frigivet og leveres med mange nye funktioner og fejlrettelser; du kan læse udgivelsesnoterne for mere information.

I denne artikel forklarer vi, hvordan du installerer og konfigurerer den nyeste version af OpenSSH 8.0-server og klient på et Linux-system fra kilder. Vi antager, at du har en eksisterende installation af OpenSSH suite.

  • Et Debian/Ubuntu- eller RHEL/CentOS Linux-system
  • C-kompilator
  • Zlib 1.1.4 eller 1.2.1.2 eller højere
  • LibreSSL eller OpenSSL> = 1.0.1 <1.1.0

Installer OpenSSH Server og klient i Linux

Før du installerer den nyeste version af SSH, skal du kontrollere den aktuelle version af SSH, der er installeret på dit system ved hjælp af følgende kommando.

$ ssh -V

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

Fra ovenstående resultat er den installerede OpenSSH-version 7.7, for at installere den nyeste OpenSSH-version skal du først installere få afhængigheder, dvs. udviklingsværktøjer eller bygge væsentlige og de andre nødvendige pakker som følger.

-------------- CentOS/RHEL 7/6--------------
$ sudo yum group install 'Development Tools' 
$ sudo yum install zlib-devel openssl-devel

-------------- RHEL 8 and Fedora 22+ --------------
$ sudo dnf group install 'Development Tools' 
$ sudo dnf install zlib-devel openssl-devel

-------------- Debian/Ubuntu --------------
$ sudo apt update 
$ sudo apt install build-essential zlib1g-dev libssl-dev 

For at skabe et passende miljø til installation af OpenSSH version 8.0-server skal vi oprette en ny systembruger og gruppe med navnet “sshd” samt et sikkert sted at skære.

Bemærk: Generelt, hvis du har en eksisterende installation, skal dette miljø allerede være på plads, kan du springe dette afsnit over og gå til det næste. Ellers skal du køre følgende kommandoer for at konfigurere det.

$ 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

Forklaring af flagene i kommandoen useradd ovenfor:

  • -r - fortæller brugeradd at oprette en systembruger
  • -U - beder den om at oprette en gruppe med samme navn og gruppe-id
  • -d - angiver brugerkataloget
  • -c - bruges til at tilføje en kommentar
  • -s - angiver brugerens skal

Download nu tarball af OpenSSH version 8.0 fra en hvilken som helst af wget-kommandoen for at downloade direkte i din terminal.

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

Nu bygger vi og installerer OpenSSH-server ved hjælp af --with-md5-passwords , --with-privsep-path og --sysconfdir valgmuligheder, som vil installere alle filerne i/usr/local/(dette er standardinstallations PREFIX).

Du kan se alle tilgængelige indstillinger ved at køre ./configure -h og tilpasse din installation yderligere.

$ ./configure -h

For at aktivere SELinux-support skal du f.eks. Tilføje valgmulighederne --with-pam og --with-selinux , du skal installere alle de nødvendige headerfiler til dem at arbejde.

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

Når du har installeret OpenSSH, skal du genstarte SSH eller åbne et andet terminalvindue og kontrollere versionen af OpenSSH, der nu er installeret på dit system.

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

De forskellige OpenSSH-konfigurationsfiler findes på:

  • ~/.ssh/* - denne mappe gemmer brugerspecifikke ssh-klientkonfigurationer (ssh-aliasser) og nøgler.
  • /etc/ssh/ssh_config - denne fil indeholder systemomfattende ssh-klientkonfigurationer.
  • /etc/ssh/sshd_config - indeholder konfigurationer af sshd-tjenester.

For at konfigurere ssh-aliasser skal du se: Sådan konfigureres brugerdefinerede SSH-forbindelser til forenkling af fjernadgang

Du kan også lide at læse disse følgende SSH-relaterede artikler.

  1. Sådan oprettes SSH-tunnelering eller portvideresendelse i Linux
  2. Sådan ændres standard SSH-port til brugerdefineret port i Linux
  3. 4 måder at fremskynde SSH-forbindelser i Linux
  4. Sådan finder du alle mislykkede SSH-loginforsøg i Linux
  5. Sådan deaktiveres SSH-rodindlogning i Linux

Det er det! I denne artikel har vi forklaret, hvordan du installerer og konfigurerer den nyeste version af OpenSSH-server og klient på et Linux-system. Hvis du har spørgsmål eller kommentarer, så brug feedbackformularen nedenfor for at nå os.