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 서버를 설치하고 구성하는 방법을 설명했습니다. 질문이나 의견이 있는 경우 아래 피드백 양식을 사용하여 문의해 주세요.