Kako namestiti strežnik OpenSSH 8.0 iz vira v Linuxu


OpenSSH je brezplačna in odprtokodna, polna implementacija protokola SSH 2.0. Ponuja številna orodja za varen dostop in upravljanje oddaljenih računalniških sistemov ter upravljanje ključev za preverjanje pristnosti, na primer ssh (varna zamenjava za telnet), ssh-keygen, ssh-copy-id, ssh-add in drugo.

Pred kratkim je izšel OpenSSH 8.0, ki vsebuje številne nove funkcije in popravke napak; za več informacij si lahko preberete opombe ob izdaji.

V tem članku bomo razložili, kako iz virov namestiti in konfigurirati najnovejšo različico strežnika in odjemalca OpenSSH 8.0 v sistemu Linux. Predvidevamo, da že imate nameščen paket OpenSSH.

  • Debian/Ubuntu ali RHEL/CentOS Linux sistem
  • C prevajalnik
  • Zlib 1.1.4 ali 1.2.1.2 ali novejši
  • LibreSSL ali OpenSSL> = 1.0.1 <1.1.0

Namestite strežnik in odjemalca OpenSSH v Linux

Preden namestite najnovejšo različico SSH, preverite trenutno različico SSH, nameščeno v vašem sistemu, z naslednjim ukazom.

$ ssh -V

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

Glede na zgornji rezultat je nameščena različica OpenSSH 7.7, če želite namestiti najnovejšo različico OpenSSH, morate najprej namestiti nekaj odvisnosti, to je razvojnih orodij ali zgraditi osnove in druge potrebne pakete, kot sledi.

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

Če želimo ustvariti ustrezno okolje za namestitev strežnika OpenSSH različice 8.0, moramo ustvariti novega sistemskega uporabnika in skupino z imenom »sshd«, pa tudi varno mesto za kroot.

Opomba: Če imate obstoječo namestitev, bi moralo biti to okolje že vzpostavljeno, lahko preskočite ta razdelek in se pomaknete na naslednjega. V nasprotnem primeru zaženite naslednje ukaze, da ga nastavite.

$ 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

Razlaga zastavic v zgornjem ukazu useradd:

  • -r-pove useradd, naj ustvari sistemskega uporabnika
  • -U-naroči mu, naj ustvari skupino z istim imenom in ID-jem skupine
  • -d-podaja imenik uporabnikov
  • -c-uporablja se za dodajanje komentarja
  • -s-podaja uporabnikovo lupino

Zdaj prenesite tarball OpenSSH različice 8.0 iz katerega koli ukaza wget za prenos neposredno v svoj 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/

Zdaj bomo zgradili in namestili strežnik OpenSSH z uporabo --with-md5-passwords , --with-privsep-path in --sysconfdir možnosti, ki bodo namestile vse datoteke v/usr/local/(to je privzeta namestitev PREFIX).

Vse razpoložljive možnosti si lahko ogledate tako, da zaženete ./configure -h in dodatno prilagodite namestitev.

$ ./configure -h

Če želite na primer omogočiti podporo za SELinux, dodajte možnosti --with-pam in --with-selinux , zato morate zanje namestiti vse potrebne datoteke z glavo delati.

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

Ko namestite OpenSSH, znova zaženite SSH ali odprite drugo terminalsko okno in preverite različico OpenSSH, ki je zdaj nameščena v vašem sistemu.

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

Različne konfiguracijske datoteke OpenSSH se nahajajo na:

  • ~/.ssh/* - ta imenik shranjuje uporabniške konfiguracije odjemalca ssh (vzdevki ssh) in ključe.
  • /etc/ssh/ssh_config - ta datoteka vsebuje sistemske konfiguracije odjemalca ssh.
  • /etc/ssh/sshd_config - vsebuje konfiguracije storitev sshd.

Če želite konfigurirati vzdevke ssh, glejte: Kako konfigurirati povezave SSH po meri za poenostavitev oddaljenega dostopa

Morda bi radi prebrali tudi naslednje članke, povezane s SSH.

  1. Kako ustvariti tuneliranje SSH ali posredovanje vrat v Linuxu
  2. Kako spremeniti privzeta vrata SSH v vrata po meri v Linuxu
  3. 4 načini za pospešitev povezav SSH v Linuxu
  4. Kako najti vse neuspešne poskuse prijave SSH v Linuxu
  5. Kako onemogočiti korensko prijavo SSH v Linuxu

To je to! V tem članku smo razložili, kako namestiti in konfigurirati najnovejšo različico strežnika in odjemalca OpenSSH v sistemu Linux. Če imate kakršna koli vprašanja ali pripombe, nas kontaktirajte s spodnjim obrazcem za povratne informacije.