Linux에서 OpenSSH 8.0 서버를 소스에서 설치하는 방법


OpenSSH 는 무료이며 오픈 소스이며 2.0 의 SSH 프로토콜을 완벽하게 구현합니다. 원격 컴퓨터 시스템에 안전하게 액세스하여 관리하고 ssh ( telnet 에 대한 보안 대체), scp, sftp (ftp에 대한 보안 대체), ssh- keygen, ssh-copy-id, ssh-add 등이 있습니다.

최근에 OpenSSH 8.0 이 출시되었으며 많은 새로운 기능과 버그 수정이 포함되었습니다. 자세한 내용은 릴리스 정보를 참조하십시오.

이 기사에서는 소스에서 Linux 시스템에 OpenSSH 8.0 서버 및 클라이언트의 최신 버전을 설치하고 구성하는 방법을 설명합니다. 기존 OpenSSH 설치가 있다고 가정합니다.

  • A Debian/Ubuntu or RHEL/CentOS Linux system
  • C compiler
  • Zlib 1.1.4 or 1.2.1.2 or greater
  • LibreSSL or OpenSSL >= 1.0.1 < 1.1.0

Linux에 OpenSSH 서버 및 클라이언트 설치

최신 버전의 SSH를 설치하기 전에 다음 명령을 사용하여 시스템에 설치된 SSH의 현재 버전을 확인하십시오.

$ ssh -V

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

위의 결과에서 설치된 OpenSSH 버전은 최신 OpenSSH 버전을 설치하기 위해 7.7 입니다. 먼저 다음과 같이 몇 가지 종속성, 즉 개발 도구 또는 빌드 필수 사항 및 기타 필수 패키지를 설치해야합니다.

-------------- CentOS/RHEL 7/6 --------------
$ sudo yum group install 'Development Tools' 
$ sudo yum install zlib-devel openssl-devel

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

OpenSSH 버전 8.0 서버를 설치하기위한 적절한 환경을 만들려면 "sshd"라는 새로운 시스템 사용자와 그룹을 만들고 < strong> 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

위의 useradd 명령의 플래그 설명 :

  • -r – tells useradd to create a system user
  • -U – instructs it to create a group with the same name and group ID
  • -d – specifies the users directory
  • -c – used to add a comment
  • -s – specifies the user’s shell

이제 사용 가능한 HTTP 미러에서 OpenSSH 버전 8.0 의 타르볼을 다운로드하거나 다음 wget 명령을 사용하여 터미널에서 직접 다운로드 할 수 있습니다.

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

이제 - with-md5-passwords , - with-privsep-path - sysconfdir 명령을 사용하여 OpenSSH 서버를 빌드하고 설치합니다. 옵션을 사용하면 모든 파일을 /usr/local/에 설치할 수 있습니다 (기본 설치 PREFIX).

./ configure -h 를 실행하여 사용 가능한 모든 옵션을보고 설치를 추가로 사용자 정의 할 수 있습니다.

$ ./configure -h

예를 들어, PAM 및 SELinux 지원을 사용하려면 각각 - with-pam - with selinux 옵션을 추가해야합니다. 필요한 모든 헤더 파일 그들이 일하기 위해서.

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

OpenSSH를 설치했으면 SSH를 다시 ​​시작하거나 다른 터미널 창을 열고 현재 시스템에 설치된 OpenSSH의 버전을 확인하십시오.

$ ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.0g  2 Nov 2017

다음 위치에있는 다양한 OpenSSH 구성 파일

  • ~/.ssh/* – this directory stores user specific ssh client configurations (ssh aliases) and keys.
  • /etc/ssh/ssh_config – this file contains system wide ssh client configurations.
  • /etc/ssh/sshd_config – contains sshd service configurations.

ssh 별칭을 구성하려면 다음을 참조하십시오. 원격 액세스를 단순화하기 위해 사용자 지정 SSH 연결을 구성하는 방법

다음 SSH 관련 기사를 읽고 싶을 수도 있습니다.

  1. How to Create SSH Tunneling or Port Forwarding in Linux
  2. How to Change Default SSH Port to Custom Port in Linux
  3. 4 Ways to Speed Up SSH Connections in Linux
  4. How to Find All Failed SSH Login Attempts in Linux
  5. How to Disable SSH Root Login in Linux

그게 다야! 이 기사에서는 Linux 시스템에 OpenSSH 서버와 클라이언트의 최신 버전을 설치하고 구성하는 방법을 설명했습니다. 질문이나 의견이 있으시면 아래 피드백 양식을 사용하여 당사에 연락하십시오.