사용자가 SSH 또는 SFTP를 사용하여 연결할 수 있도록 허용하지만 홈 디렉터리(Centos7)로 제한합니다.

사용자가 SSH 또는 SFTP를 사용하여 연결할 수 있도록 허용하지만 홈 디렉터리(Centos7)로 제한합니다.

여러 도메인과 사용자가 있어야 하는 웹 서버를 구성 중입니다.
사용자를 홈 디렉터리로만 제한하고 SSH 또는 SFTP를 통해 연결할 수 있도록 허용하려고 합니다.
지금까지 몇 가지 가이드를 따라 사용자를 특정 디렉터리로 제한하고 SFTP를 사용하여 연결했지만 SSH를 사용하여 연결하려고 하면 다음과 같은 결과가 나타납니다.

홈 디렉터리 /home/username으로 chdir을 실행할 수 없습니다. 해당 파일 또는 디렉터리가 없습니다. /bin/bash: 해당 파일 또는 디렉터리가 없습니다.

내 /etc/ssh/sshd_config는 다음과 같이 끝납니다.

Subsystem sftp internal-sftp

Match Group sftp
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

*"sftp" 그룹에 "username" 사용자를 추가했습니다.
*"Match group..." 블록을 주석 처리하고 "Subsystem sftp Internal sftp"를 다시 "Subsystem sftp /usr/libexec/openssh/sftp-server"로 변경하면 SSH를 사용하여 연결할 수 있지만 폴더 제한은 없습니다.

- 어떤 아이디어라도 있나요?


하위 질문: /var/www/ 디렉터리에서 사용자의 홈 디렉터리로 도메인을 마운트하여 액세스할 수 있도록 했습니다. 이는 일반적으로 공유 호스팅에서 수행됩니까?

답변1

올바른 chroot 환경을 설정해야 합니다사용자당SSH 접속을 원합니다.

루트가 지정된 모든 홈 디렉토리에는 다음이 있어야 합니다.그것은쉘 등을 시작할 수 있는 가장 작은 Unix 실행 파일 및 장치 파일 세트입니다. 명령 세트는 사용자의 "자신의 루트 디렉터리"에 복사하는 모든 명령으로 제한됩니다. 이것이 chroot 환경에서 가장 까다로운 점입니다. 사용자는 특정 명령이 부족하다고 끝없이 불평할 것입니다.

chrooted SSH를 설정하는 방법에 대한 매뉴얼이 많이 있는데, 이 매뉴얼은 꽤 평범해 보입니다.Chrooted SSH/SFTP 튜토리얼(Debian Lenny).

건배!

관련 정보