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