최근에 OpenSSH_5.9p1로 SSH 서버를 업그레이드하고 chrooted SFTP/SSH 설정을 시도했습니다. 지금까지 openssh5.9p1의 새로운 기능을 사용하여 SFTP에 대해서만 chroot 액세스를 설정했습니다.
Match User testuser ChrootDirectory /home/testuser X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
하지만 동일한 사용자에 대해 SSH 액세스도 활성화해야 합니다. 나는 많은 기사를 읽었으며 그 중 하나는http://www.howtoforge.com/chroot_ssh_sftp_fedora7SSH를 통해 연결에 성공했습니다. 하지만 chroot가 작동하지 않는 것 같습니다. 여전히 외부 폴더를 탐색할 수 있습니다.
어떤 제안이 있으십니까?
감사해요.
답변1
Subsystem sftp internal-sftp -f LOCAL5 -l VERBOSE
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
저장하고 명령줄로 돌아갑니다. 변경 사항을 적용하려면 sshd 데몬을 다시 시작하세요.service sshd restart
이는 기본적으로 sftp
이 그룹(나중에 생성할)의 모든 사용자가 홈 디렉터리(ChrootDirectory 명령에서 %h로 표시됨)로 chroot되어 내부 sftp 도우미를 강제로 사용하고 TCP 포트 전달을 비활성화함을 OpenSSH에 알려줍니다.
SFTP 하위 시스템을 활성화하려면 하위 시스템 명령이 필요합니다. 이는 Fedora에 존재하는 SFTP 서버 도우미의 경로이거나 우리가 사용할 내부 SFTP의 경로일 수 있습니다. 분명히 내부 sftp 명령이 더 잘 작동하며 chroot 위치에 쉘이나 추가 라이브러리를 설치할 필요가 없습니다. chrooted 명령 셸은 아직 다루지 않을 것입니다. 왜냐하면 작동시키기가 매우 어렵고 아직 살펴보지 않았기 때문입니다. :-)
다음으로, 그룹을 생성 sftp
하고 감옥으로 제한하려는 시스템의 사용자를 이 그룹에 추가해야 합니다. 이 방법:-