Hvordan installere OpenSSH 8.0 Server fra kilde i Linux


OpenSSH er en gratis og åpen kildekode, full implementering av SSH-protokollen 2.0. Den gir en rekke verktøy for sikker tilgang til og administrering av eksterne datasystemer, og administrering av autentiseringsnøkler, for eksempel ssh (en sikker erstatning for telnet), ssh-keygen, ssh-copy-id, ssh-add og mer.

Nylig ble OpenSSH 8.0 utgitt og leveres med mange nye funksjoner og feilrettinger; du kan lese utgivelsesnotatene for mer informasjon.

I denne artikkelen vil vi forklare hvordan du installerer og konfigurerer den nyeste versjonen av OpenSSH 8.0 server og klient på et Linux-system fra kilder. Vi antar at du har en eksisterende installasjon av OpenSSH-pakken.

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

Installer OpenSSH Server og Client i Linux

Før du installerer siste versjon av SSH, sørg for å sjekke gjeldende versjon av SSH installert på systemet ditt ved å bruke følgende kommando.

$ ssh -V

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

Fra resultatet ovenfor er den installerte OpenSSH-versjonen 7.7, for å installere den nyeste OpenSSH-versjonen, må du først installere noen få avhengigheter, dvs. utviklingsverktøy eller bygge nødvendigheter og de andre nødvendige pakkene, 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 å lage et riktig miljø for å installere OpenSSH versjon 8.0-server, må vi opprette en ny systembruker og gruppe kalt sshd, samt et trygt sted å chroot.

Merk: Generelt, hvis du har en eksisterende installasjon, bør dette miljøet allerede være på plass, du kan hoppe over denne delen og gå til neste. Ellers, kjør følgende kommandoer for å sette den opp.

$ 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

Forklarer flaggene i useradd-kommandoen ovenfor:

  • -r – ber useradd opprette en systembruker
  • -U – ber den opprette en gruppe med samme navn og gruppe-ID
  • -d – spesifiserer brukerkatalogen
  • -c – brukes til å legge til en kommentar
  • -s – spesifiserer brukerens skall

Nå laster du ned tarballen til OpenSSH versjon 8.0 fra hvilken som helst av wget-kommandoene for å laste ned direkte i terminalen din.

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

Nå skal vi bygge og installere OpenSSH-serveren ved å bruke --with-md5-passwords, --with-privsep-path og --sysconfdir alternativer, som vil installere alle filene i /usr/local/ (dette er standard installasjonsPREFIX).

Du kan se alle tilgjengelige alternativer ved å kjøre ./configure -h og tilpasse installasjonen ytterligere.

$ ./configure -h

For å aktivere SELinux-støtte, legg til henholdsvis --with-pam og --with-selinux alternativene, du må installere alle nødvendige overskriftsfiler for dem å jobbe.

## 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 installert OpenSSH, start SSH på nytt eller åpne et annet terminalvindu og sjekk hvilken versjon av OpenSSH som nå er installert på systemet ditt.

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

De forskjellige OpenSSH-konfigurasjonsfilene som ligger på:

  • ~/.ssh/* – denne katalogen lagrer brukerspesifikke ssh-klientkonfigurasjoner (ssh-aliaser) og nøkler.
  • /etc/ssh/ssh_config – denne filen inneholder systemomfattende ssh-klientkonfigurasjoner.
  • /etc/ssh/sshd_config – inneholder sshd-tjenestekonfigurasjoner.

For å konfigurere ssh-aliaser, se: Hvordan konfigurere tilpassede SSH-tilkoblinger for å forenkle fjerntilgang

Du vil kanskje også lese disse følgende SSH-relaterte artiklene.

  1. Hvordan lage SSH-tunnelering eller portvideresending i Linux
  2. Hvordan endre standard SSH-port til egendefinert port i Linux
  3. 4 måter å øke hastigheten på SSH-tilkoblinger i Linux
  4. Hvordan finne alle mislykkede SSH-påloggingsforsøk i Linux
  5. Hvordan deaktiverer SSH Root-pålogging i Linux

Det er det! I denne artikkelen har vi forklart hvordan du installerer og konfigurerer den nyeste versjonen av OpenSSH-serveren og -klienten på et Linux-system. Hvis du har spørsmål eller kommentarer, bruk tilbakemeldingsskjemaet nedenfor for å nå oss.