Wyszukiwanie w witrynie

Jak zainstalować serwer OpenSSH ze źródła w systemie Linux


OpenSSH to bezpłatna i otwarta, pełna implementacja protokołu SSH 2.0, która udostępnia szereg narzędzi umożliwiających bezpieczny dostęp i zarządzanie zdalnymi systemami komputerowymi oraz zarządzanie kluczami uwierzytelniającymi, takie jak ssh (bezpieczny zamiennik telnetu), scp, sftp (bezpieczny zamiennik FTP), ssh-keygen, ssh-copy-id, ssh-add i inne.

Niedawno wydano OpenSSH 9.3, który zawiera wiele nowych funkcji i poprawek błędów; możesz przeczytać uwagi do wydania SSH, aby uzyskać więcej informacji.

W tym artykule wyjaśnimy, jak zainstalować i skonfigurować ze źródeł najnowszą wersję serwera i klienta OpenSSH w systemie Linux. Zakładamy, że masz istniejącą instalację pakietu OpenSSH.

Wymagania:

  • System Debian/Ubuntu lub RHEL/CentOS Linux
  • Kompilator C
  • Zlib 1.1.4 lub 1.2.1.2 lub nowszy
  • LibreSSL lub OpenSSL >= 1.0.1 < 1.1.0

Zainstaluj serwer OpenSSH ze źródła

Przed zainstalowaniem najnowszej wersji SSH sprawdź aktualną wersję SSH zainstalowaną w Twoim systemie za pomocą poniższego polecenia.

ssh -V

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

Z powyższego wyniku zainstalowana wersja OpenSSH to 7.7, aby zainstalować najnowszą wersję OpenSSH, najpierw musisz zainstalować kilka zależności, tj. narzędzia programistyczne lub podstawowe elementy konstrukcyjne i inne wymagane pakiety, jak następuje.

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

Aby stworzyć odpowiednie środowisko do instalacji serwera OpenSSH, musimy utworzyć nowego użytkownika systemu i grupę o nazwie „sshd”, a także bezpieczne miejsce do chrootować.

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

Wyjaśnienie flag w poleceniu useradd powyżej:

  • -r – mówi useradd, aby utworzył użytkownika systemowego
  • -U – instruuje go, aby utworzył grupę o tej samej nazwie i identyfikatorze grupy
  • -d – określa katalog użytkownika
  • -c – służy do dodania komentarza
  • -s – określa powłokę użytkownika

Teraz pobierz archiwum OpenSSH w wersji 9.3 z dowolnego dostępnego serwera lustrzanego HTTP lub możesz użyć następującego polecenia wget, aby pobrać bezpośrednio do terminala.

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/

Teraz zbudujemy i zainstalujemy serwer OpenSSH przy użyciu --with-md5-passwords, --with-privsep-path i --sysconfdir opcje, które zainstalują wszystkie pliki w /usr/local/ (jest to domyślny PREFIKS instalacji).

Możesz zobaczyć wszystkie dostępne opcje, uruchamiając ./configure -h i dalej dostosowując swoją instalację.

./configure -h

Na przykład, aby włączyć obsługę PAM i SELinux, dodaj odpowiednio opcje --with-pam i --with-selinux, musisz zainstalować wszystkie niezbędne pliki nagłówkowe żeby pracowali.

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

Po zainstalowaniu OpenSSH uruchom ponownie SSH lub otwórz inne okno terminala i sprawdź wersję OpenSSH zainstalowaną teraz w Twoim systemie.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

Różne pliki konfiguracyjne OpenSSH znajdują się pod adresem:

  • ~/.ssh/* – ten katalog przechowuje specyficzne dla użytkownika konfiguracje klienta ssh (aliasy ssh) i klucze.
  • /etc/ssh/ssh_config – ten plik zawiera ogólnosystemowe konfiguracje klienta ssh.
  • /etc/ssh/sshd_config – zawiera konfiguracje usług sshd.

Aby skonfigurować aliasy ssh, zobacz: Jak skonfigurować niestandardowe połączenia SSH w celu uproszczenia dostępu zdalnego

Możesz także przeczytać następujące artykuły związane z SSH.

Otóż to! W tym artykule wyjaśniliśmy, jak zainstalować i skonfigurować najnowszą wersję serwera OpenSSH ze źródła w systemie Linux. Jeśli masz jakieś pytania lub uwagi, skorzystaj z poniższego formularza opinii, aby się z nami skontaktować.