Kako instalirati OpenSSH server iz izvora u Linuxu


OpenSSH je besplatan i otvoreni izvor, puna implementacija SSH protokola 2.0, koji pruža niz alata za siguran pristup i upravljanje udaljenim računarskim sistemima, te upravljanje ključevima za autentifikaciju, kao što su ssh (sigurna zamjena za telnet), scp, sftp (sigurna zamjena za ftp), ssh-keygen, ssh-copy-id, ssh-add i još mnogo toga.

Nedavno je objavljen OpenSSH 9.3 i isporučuje se sa mnogim novim funkcijama i ispravkama grešaka; možete pročitati napomene o izdanju SSH za više informacija.

U ovom članku ćemo objasniti kako da instalirate i konfigurišete najnoviju verziju OpenSSH servera i klijenta na Linux sistemu iz izvora. Pretpostavljamo da imate postojeću instalaciju OpenSSH paketa.

Zahtjevi:

  • Debian/Ubuntu ili RHEL/CentOS Linux sistem
  • C kompajler
  • Zlib 1.1.4 ili 1.2.1.2 ili noviji
  • LibreSSL ili OpenSSL >= 1.0.1 < 1.1.0

Instalirajte OpenSSH server iz izvora

Prije instaliranja najnovije verzije SSH, provjerite trenutnu verziju SSH instaliranu na vašem sistemu koristeći sljedeću naredbu.

ssh -V

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

Iz gornjeg rezultata, instalirana verzija OpenSSH je 7.7, da biste instalirali najnoviju verziju OpenSSH, prvo morate instalirati nekoliko ovisnosti, tj. razvojni alati ili osnove izgradnje i ostali potrebni paketi, kako slijedi.

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

Da kreiramo odgovarajuće okruženje za instaliranje OpenSSH servera, moramo kreirati novog korisnika sistema i grupu pod nazivom “sshd”, kao i sigurno mjesto za 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

Objašnjavanje zastavica u naredbi useradd iznad:

  • -r – govori useraddu da kreira sistemskog korisnika
  • -U – daje instrukcije da kreira grupu sa istim imenom i ID-om grupe
  • -d – specificira direktorij korisnika
  • -c – koristi se za dodavanje komentara
  • -s – specificira ljusku korisnika

Sada preuzmite tarball OpenSSH verzije 9.3 sa bilo kojeg od dostupnih HTTP ogledala ili možete koristiti sljedeću komandu wget da preuzmete direktno u svoj 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/

Sada ćemo izgraditi i instalirati OpenSSH server koristeći --with-md5-passwords, --with-privsep-path i --sysconfdir opcije, koje će instalirati sve datoteke u /usr/local/ (ovo je zadani PREFIX instalacije).

Možete vidjeti sve dostupne opcije tako što ćete pokrenuti ./configure -h i dodatno prilagoditi svoju instalaciju.

./configure -h

Na primjer, da biste omogućili podršku za PAM i SELinux, dodajte opcije --with-pam i --with-selinux, potrebno je instalirati sve potrebne datoteke zaglavlja da rade.

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

Nakon što instalirate OpenSSH, ponovo pokrenite SSH ili otvorite drugi prozor terminala i provjerite verziju OpenSSH koja je sada instalirana na vašem sistemu.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

Različite OpenSSH konfiguracijske datoteke se nalaze na:

  • ~/.ssh/* – ovaj direktorij pohranjuje korisničke konfiguracije ssh klijenta (ssh aliasi) i ključeve.
  • /etc/ssh/ssh_config – ova datoteka sadrži ssh klijentske konfiguracije za cijeli sistem.
  • /etc/ssh/sshd_config – sadrži konfiguracije sshd servisa.

Da biste konfigurirali ssh alijase, pogledajte: Kako konfigurirati prilagođene SSH veze za pojednostavljenje udaljenog pristupa

Možda biste željeli pročitati i sljedeće članke koji se odnose na SSH.

To je to! U ovom članku smo objasnili kako da instalirate i konfigurišete najnoviju verziju OpenSSH servera iz izvora na Linux sistemu. Ako imate bilo kakvih pitanja ili komentara, koristite obrazac za povratne informacije u nastavku da nas kontaktirate.