웹사이트 검색

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


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

최근 OpenSSH 9.3이 출시되었으며 많은 새로운 기능과 버그 수정이 포함되어 있습니다. 자세한 내용은 SSH 릴리스 노트를 읽어보세요.

이 문서에서는 소스를 통해 Linux 시스템에 최신 버전의 OpenSSH 서버 및 클라이언트를 설치하고 구성하는 방법을 설명합니다. OpenSSH 제품군이 기존에 설치되어 있다고 가정합니다.

요구사항:

  • Debian/Ubuntu 또는 RHEL/CentOS Linux 시스템
  • C 컴파일러
  • Zlib 1.1.4 또는 1.2.1.2 이상
  • LibreSSL 또는 OpenSSL >= 1.0.1 < 1.1.0

소스에서 OpenSSH 서버 설치

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

ssh -V

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

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

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

OpenSSH 서버 설치를 위한 적절한 환경을 만들려면 “sshd”라는 이름의 새 시스템 사용자 및 그룹과 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 – useradd에게 시스템 사용자를 생성하라고 지시합니다.
  • -U – 동일한 이름과 그룹 ID를 가진 그룹을 생성하도록 지시합니다.
  • -d – 사용자 디렉터리를 지정합니다.
  • -c – 주석을 추가하는 데 사용됩니다.
  • -s – 사용자의 쉘을 지정합니다.

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

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/

이제 --with-md5-passwords, --with-privsep-path를 사용하여 OpenSSH 서버를 구축하고 설치하겠습니다. >--sysconfdir 옵션, /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_9.3p1, OpenSSL 3.0.1 14 Dec 2021

다양한 OpenSSH 구성 파일은 다음 위치에 있습니다.

  • ~/.ssh/* – 이 디렉토리는 사용자별 SSH 클라이언트 구성(Ssh 별칭) 및 키를 저장합니다.
  • /etc/ssh/ssh_config – 이 파일에는 시스템 전체 SSH 클라이언트 구성이 포함되어 있습니다.
  • /etc/ssh/sshd_config – sshd 서비스 구성이 포함되어 있습니다.

SSH 별칭을 구성하려면 원격 액세스를 단순화하기 위해 사용자 정의 SSH 연결을 구성하는 방법을 참조하세요.

다음 SSH 관련 기사를 읽어볼 수도 있습니다.

그게 다야! 이 기사에서는 Linux 시스템의 소스에서 최신 버전의 OpenSSH 서버를 설치하고 구성하는 방법을 설명했습니다. 질문이나 의견이 있는 경우 아래 피드백 양식을 사용하여 문의해 주세요.