beyondlinuxfromscratch:installedpackages:openssh-9.6p1

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

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

패키지 정보

  • 다운로드(HTTP): openssh-9.6p1.tar.gz
  • 다운로드 MD5 합계: 5e90def5af3ffb27e149ca6fff12bef3
  • 다운로드 크기: 1.8 MB
  • 필요한 예상 디스크 공간: 45MB (테스트 22MB 추가)
  • 예상 빌드 시간: 0.2 SBU (병렬 처리=4 사용, 테스트 실행에는 프로세서 속도와 관계없이 약 20분 소요)

OpenSSH 종속성

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

다른 컴퓨터에 연결할 때 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

  • –sysconfdir=/etc/ssh:
    구성 파일이 /usr/etc에 설치되지 않도록 합니다.
  • –with-default-path=/usr/bin–with-superuser-path=/usr/sbin:/usr/bin:
    LFS 및 BLFS 섀도 패키지와 일치하는 경로를 설정합니다.
  • –with-pid-dir=/run:
    OpenSSH가 더 이상 사용되지 않는 /var/run을 참조하지 못하도록 합니다.
  • –with-pam: Linux-PAM 지원을 활성화합니다.
  • –with-xauth=$XORG_PREFIX/bin/xauth: X 인증을 위한 xauth 바이너리의 기본 위치를 설정합니다. 환경 변수 XORG_PREFIXXorg 빌드 환경에 따라 설정해야 합니다. 이 변수는 sshd_config에서 XAuthLocation 키워드를 사용하여 제어할 수도 있습니다. Xorg가 이미 설치되어 있는 경우 이 스위치를 생략할 수 있습니다.
  • –with-kerberos5=/usr: Kerberos 5 지원을 포함하는 데 사용됩니다.
  • –with-libedit: sftp에 대한 명령줄 편집 및 기록 기능을 활성화합니다.

설정 파일

~/.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

  • 설치된 프로그램:
    scp, sftp, ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan 및 sshd
  • 설치된 디렉터리:
    /etc/ssh, /usr/share/doc/openssh-9.6p1, /var/lib/sshd

간단한 설명

  • scp
    암호화된 프로토콜을 사용한다는 점을 제외하면 rcp처럼 작동하는 파일 복사 프로그램입니다.
  • sftp
    SSH1 및 SSH2 프로토콜을 통해 작동하는 FTP와 유사한 프로그램입니다.
  • ssh
    암호화된 프로토콜을 사용한다는 점을 제외하면 rlogin/rsh와 유사한 클라이언트 프로그램입니다.
  • sshd
    ssh 로그인 요청을 수신하는 데몬입니다.
  • ssh-add
    ssh-agent에 키를 추가하는 도구입니다.
  • ssh-agent
    개인 키를 저장할 수 있는 인증 에이전트입니다.
  • ssh-copy-id
    로컬 키를 사용하여 원격 시스템에서 로그인할 수 있도록 하는 스크립트입니다.
  • ssh-keygen
    키 생성 도구
  • ssh-keyscan
    여러 호스트에서 공개 호스트 키를 수집하는 유틸리티입니다.
  • beyondlinuxfromscratch/installedpackages/openssh-9.6p1.txt
  • 마지막으로 수정됨: 2024/06/18 12:36
  • 저자 baecy