chroot ssh 사용자를 홈 디렉토리로

chroot ssh 사용자를 홈 디렉토리로

SSH 사용자는 홈 디렉토리로 어떻게 루트를 이동합니까?

이것이 sshd_config 파일에 설정한 것입니다:

ChrootDirectory %h

Subsystem       sftp    /usr/libexec/openssh/sftp-server

SSH 버전은 6.6.1입니다.

로그인을 시도할 때 나타나는 오류는 다음과 같습니다.

Could not chdir to home directory /home/user: No such file or directory

/bin/bash: no such file or directory

답변1

사용자를 자신의 디렉토리로 chroot하려면 쉘과 디렉토리에서 실행하는 데 필요한 모든 것이 필요합니다. 이것이 귀하의 오류가 말하는 것입니다. Chroot가 루트를 /home/user로 변경한 다음 /home/user/bin/bash에서 /bin/bash(사용자가 선택한 셸)를 찾으려고 하는데 오류가 발생하여 실패합니다.

답변2

첫 번째 오류 메시지(" chdir...할 수 없습니다")는 다음에서 나타납니다.Chroot 디렉토리당신의 sshd_config. 문서에서:

Chroot 디렉토리

chroot(2)인증 후 디렉터리 경로 이름을 지정합니다. 경로 이름의 모든 구성 요소는 루트가 소유한 디렉터리여야 하며 다른 사용자나 그룹이 쓸 수 없어야 합니다. 루트를 변경한 후 sshd(8)작업 디렉터리를 사용자의 홈 디렉터리로 변경합니다.

뒤쪽에chroot를 시도할 때 찾을 수 없는 것으로 나타납니다 bash. 이는 완전한 chroot 환경 설정이 없는 것과 관련이 있습니다(문서 참조 chroot(2)).

사용자의 상호 작용 컨텍스트를 chroot"d"(단순한 "d"가 아닌 sftp)로 지정하려면 해야 할 일이 많습니다. 최종 목표에 따라 단순히 제한된 쉘을 사용하고 싶을 수도 있습니다( 설정 방법에 대한 아이디어를 찾으려면 "restricted"를 확인 bash(1)하고 검색하세요).vim(1)

다른 유사한 질문에 대한 참조를 찾았습니다.askubuntu.com등.Archlinux.org(왜 이 디렉토리를 루트가 소유해야 하는지에 대한 설명을 보려면 두 번째 디렉토리의 맨 아래로 스크롤하십시오.)

관련 정보