목차

Beyond Linux® From Scratch (systemd Edition) - Version 12.1
Chapter 5. File Systems and Disk Management
이전 위로 / 처음으로 다음
NSS-3.98 p11-kit-0.25.3

OpenSSH-9.6p1

OpenSSH 소개

OpenSSH 패키지에는 ssh 클라이언트와 sshd 데몬이 포함되어 있습니다. 이는 네트워크를 통한 인증 및 후속 트래픽을 암호화하는 데 유용합니다. ssh 및 scp 명령은 각각 텔넷과 rcp의 보안 구현입니다.

이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.

패키지 정보

OpenSSH 종속성

선택 사항
선택적 런타임([[wpko>정보 엔트로피|엔트로피]] 수집에만 사용)

OpenSSH 설치

다른 컴퓨터에 연결할 때 OpenSSH는 두 개의 프로세스로 실행됩니다. 첫 번째 프로세스는 권한이 있는 프로세스이며 필요에 따라 권한 발급을 제어합니다. 두 번째 프로세스는 네트워크와 통신합니다. 적절한 환경을 설정하려면 추가 설치 단계가 필요하며, 이는 root 사용자로 다음 명령을 실행하여 수행합니다.

install -v -g sys -m700 -d /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd

다음과 같이 OpenSSH를 설치합니다.

./configure --prefix=/usr                            \
            --sysconfdir=/etc/ssh                    \
            --with-privsep-path=/var/lib/sshd        \
            --with-default-path=/usr/bin             \
            --with-superuser-path=/usr/sbin:/usr/bin \
            --with-pid-dir=/run                      &&
make

결과를 테스트 할려면 make -j1 tests를 실행합니다.

이제 root 사용자로

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-9.6p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-9.6p1

명령 설명

OpenSSH 설정하기

설정 파일

~/.ssh/*, /etc/ssh/ssh_config/etc/ssh/sshd_config

이 파일 중 어느 것도 변경할 필요가 없습니다. 그러나 /etc/ssh/ 파일을 보고 시스템 보안을 위해 적절하게 변경할 수 있습니다. 권장되는 변경 사항 중 하나는 ssh를 통한 root 로그인을 비활성화하는 것입니다. root 사용자로 다음 명령을 실행하여 ssh를 통한 루트 로그인을 비활성화합니다:

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

비밀번호를 입력하지 않고 로그인하려면 먼저 ssh-keygen을 사용하여 ~/.ssh/id_rsa 및 ~/.ssh/id_rsa.pub을 만든 다음 로그인하려는 원격 컴퓨터의 ~/.ssh/id_rsa.pub을 ~/.ssh/authorized_keys에 복사하세요. 원격 컴퓨터의 사용자 이름과 호스트 이름에 대해 REMOTE_USERNAME 및 REMOTE_HOSTNAME을 변경해야 하며, ssh-copy-id 명령이 성공하려면 비밀번호도 입력해야 합니다:

ssh-keygen &&
ssh-copy-id -i ~/.ssh/id_ed25519.pub REMOTE_USERNAME@REMOTE_HOSTNAME

비밀번호 없는 로그인이 작동하면 실제로 비밀번호로 로그인하는 것보다 더 안전합니다(대부분의 사람들이 사용하는 비밀번호보다 개인 키가 훨씬 길기 때문입니다). 이제 비밀번호 로그인을 비활성화하려면 root 사용자로 다음과 같이 입력합니다:

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config &&
echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config

Linux-PAM 지원을 추가한 후 ssh에서 이를 사용하려면 sshd에 대한 구성 파일을 추가하고 LinuxPAM 사용을 사용하도록 설정해야 합니다. ssh는 비밀번호를 확인할 때만 PAM을 사용하므로 비밀번호 로그인을 사용하지 않도록 설정한 경우에는 이러한 명령이 필요하지 않습니다. PAM을 사용하려면 root 사용자로 다음 명령을 실행하세요.

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "UsePAM yes" >> /etc/ssh/sshd_config

추가 구성 정보는 sshd, sshssh-agent의 매뉴얼 페이지에서 확인할 수 있습니다.

Systemd Unit

시스템 부팅 시 SSH 서버를 시작하려면 blfs-systemd-units-20240205 패키지에 포함된 sshd.service 유닛을 설치합니다.

make install-sshd

내용

간단한 설명