Jinsi ya Kusakinisha Seva ya OpenSSH 8.0 kutoka Chanzo katika Linux


OpenSSH ni chanzo cha bure na wazi, utekelezaji kamili wa itifaki ya SSH 2.0. Inatoa idadi ya zana za kufikia na kudhibiti mifumo ya kompyuta ya mbali kwa usalama, na kudhibiti vitufe vya uthibitishaji, kama vile ssh (kibadala salama cha telnet), ssh-keygen, ssh-copy-id, ssh-add, na zaidi.

Hivi majuzi OpenSSH 8.0 ilitolewa na kusafirishwa ikiwa na vipengele vingi vipya na kurekebishwa kwa hitilafu; unaweza kusoma maelezo ya kutolewa kwa habari zaidi.

Katika makala haya, tutaeleza jinsi ya kusakinisha na kusanidi toleo jipya zaidi la seva ya OpenSSH 8.0 na mteja kwenye mfumo wa Linux kutoka kwa vyanzo. Tunadhania kuwa una usakinishaji uliopo wa Suite ya OpenSSH.

  • Mfumo wa Debian/Ubuntu au RHEL/CentOS Linux
  • Mkusanyaji wa C
  • Zlib 1.1.4 au 1.2.1.2 au zaidi
  • LibreSSL au OpenSSL >= 1.0.1 < 1.1.0

Sakinisha Seva ya OpenSSH na Mteja katika Linux

Kabla ya kusakinisha toleo jipya zaidi la SSH, hakikisha kuwa umeangalia toleo la sasa la SSH lililosakinishwa kwenye mfumo wako kwa kutumia amri ifuatayo.

$ ssh -V

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

Kutokana na matokeo yaliyo hapo juu, toleo la OpenSSH lililosakinishwa ni 7.7, ili kusakinisha toleo jipya zaidi la OpenSSH, kwanza unahitaji kusakinisha vitegemezi vichache, yaani zana za usanidi au kuunda mambo muhimu na vifurushi vingine vinavyohitajika, kama ifuatavyo.

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

Ili kuunda mazingira yanayofaa ya kusakinisha seva ya OpenSSH toleo la 8.0, tunahitaji kuunda mtumiaji na kikundi kipya cha mfumo kinachoitwa sshd, pamoja na mahali salama pa kuchroot.

Kumbuka: Kwa ujumla, ikiwa una usakinishaji uliopo, mazingira haya yanapaswa kuwa tayari, unaweza kuruka sehemu hii na kwenda kwa inayofuata. Vinginevyo, endesha amri zifuatazo ili kuiweka.

$ 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

Kuelezea bendera katika amri ya useradd hapo juu:

  • -r - inamwambia useradd kuunda mtumiaji wa mfumo
  • -U - inaiagiza kuunda kikundi kwa jina sawa na kitambulisho cha kikundi
  • -d - inabainisha saraka ya watumiaji
  • -c - hutumiwa kuongeza maoni
  • -s - inabainisha ganda la mtumiaji

Sasa, pakua tarball ya toleo la OpenSSH 8.0 kutoka kwa amri yoyote ya wget kupakua moja kwa moja kwenye terminal yako.

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

Sasa tutaunda na kusakinisha seva ya OpenSSH kwa kutumia --with-md5-passwords, --with-privsep-path na --sysconfdir chaguzi, ambazo zitasanikisha faili zote ndani /usr/local/ (hii ndio PREFIX ya usakinishaji chaguo-msingi).

Unaweza kuona chaguo zote zinazopatikana kwa kuendesha ./configure -h na kubinafsisha usakinishaji wako zaidi.

$ ./configure -h

Kwa mfano, ili kuwezesha usaidizi wa SELinux, ongeza chaguo za --with-pam na --with-selinux, mtawalia, unahitaji kuzisakinisha faili zote muhimu za vichwa. kufanya kazi.

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

Mara tu unaposakinisha OpenSSH, anzisha upya SSH au fungua windows terminal nyingine na uangalie toleo la OpenSSH ambalo sasa limesakinishwa kwenye mfumo wako.

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

Faili mbalimbali za usanidi za OpenSSH ziko katika:

  • ~/.ssh/* - saraka hii huhifadhi usanidi maalum wa mteja wa ssh (lakabu za ssh) na funguo.
  • /etc/ssh/ssh_config - faili hii ina usanidi wa mfumo mpana wa ssh.
  • /etc/ssh/sshd_config - ina usanidi wa huduma ya sshd.

Ili kusanidi lakabu za ssh, ona: Jinsi ya Kusanidi Viunganisho Maalum vya SSH ili Kurahisisha Ufikiaji wa Mbali.

Unaweza pia kupenda kusoma nakala hizi zifuatazo zinazohusiana na SSH.

  1. Jinsi ya Kuunda Njia ya SSH au Usambazaji Mlango katika Linux
  2. Jinsi ya Kubadilisha Mlango Chaguomsingi wa SSH kuwa Mlango Maalum katika Linux
  3. Njia 4 za Kuharakisha Miunganisho ya SSH kwenye Linux
  4. Jinsi ya Kupata Majaribio Yote ya Kuingia ya SSH Yanayoshindwa katika Linux
  5. Jinsi ya Kuzima Kuingia kwa Mizizi ya SSH kwenye Linux

Ni hayo tu! Katika makala haya, tumeelezea jinsi ya kusakinisha na kusanidi toleo jipya zaidi la seva ya OpenSSH na mteja kwenye mfumo wa Linux. Ikiwa una maswali au maoni yoyote, tumia fomu ya maoni iliyo hapa chini ili kuwasiliana nasi.