데비안 10에서 Chroot로 SFTP 서버를 설정하는 방법
♨ 카랜더 일정 :
컨텐츠 정보
- 6,535 조회
본문
데비안 10에서 Chroot로 SFTP 서버를 설정하는 방법
https://www.linuxtechi.com/configure-sftp-chroot-debian10/
최근 데비안 10, 코드 이름 'Buster'가 릴리스되었습니다.이 기사에서는 데비안 10 시스템의 환경과 같은 Chroot 'Jail'을 사용하여 sftp를 구성하는 방법을 보여줍니다. 여기서 Chroot Jail과 유사한 환경은 사용자가 해당 홈 디렉토리를 넘어갈 수 없거나 사용자가 홈 디렉토리에서 디렉토리를 변경할 수 없음을 의미합니다. 다음은 실험실 세부 사항입니다.
- OS = 데비안 10
- IP 주소 = 192.168.56.151
SFTP 구성 단계로 넘어가겠습니다.
1 단계 : groupadd 명령을 사용하여 sftp에 대한 그룹 작성
터미널을 열고 아래 groupadd 명령을 사용하여 이름이 " sftp_users "인 그룹을 작성하십시오 .
groupadd sftp_users
2 단계 : 'sftp_users'그룹에 사용자 추가 및 권한 설정
새 사용자를 작성하고 해당 사용자를 'sftp_users'그룹에 추가하려면 다음 명령을 실행하십시오.
구문 : # useradd -m -G sftp_users <사용자 이름>
사용자 이름이 'shimss'이라고 가정 해 봅시다
useradd -m -G sftp_users shimss
다음 chpasswd 명령을 사용하여 비밀번호를 설정하십시오.
echo "shimss:12345" | chpasswd
기존 사용자를 'sftp_users'그룹에 추가하고 usermod 명령 아래에서 실행하려는 경우 기존 사용자 이름이 'shimss'라고 가정합니다
usermod -G sftp_users shimss
이제 사용자에 필요한 권한을 설정하십시오.
chown root /home/shimss /home/shimss/
사용자의 홈 디렉토리 모두에 업로드 폴더를 만들고 올바른 소유권을 설정하십시오.
root@linuxtechi:~# mkdir /home/shimss/upload root@linuxtechi:~# chown shimss /home/shimss/upload
참고 : U의 조나단과 크리스 같은 SER가 로컬 시스템에서 폴더에 업로드 할 파일과 디렉토리를 업로드 할 수 있습니다.
3 단계 : sftp 구성 파일 편집 (/ etc / ssh / sshd_config)
sftp 작업이 ssh를 통해 수행되었다고 이미 언급했듯이 구성 파일은 " / etc / ssh / sshd_config "입니다. 변경하기 전에 먼저 백업을 수행 한 다음이 파일을 편집하고 다음 내용을 추가하는 것이 좋습니다.
root@linuxtechi:~# cp /etc/ssh/sshd_config /etc/ssh/sshd_config-org root@linuxtechi:~# nano /etc/ssh/sshd_config ……… #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftp_users X11Forwarding no AllowTcpForwarding no ChrootDirectory %h ForceCommand internal-sftp …………
파일을 저장하고 종료하십시오.
위의 변경 사항을 적용하려면 다음 systemctl 명령을 사용하여 ssh 서비스를 다시 시작하십시오.
systemctl restart sshd
service ssh restart
위의 'sshd_config'파일에서“Subsystem”으로 시작하는 행을 주석 처리하고“Subsystem sftp internal-sftp”라는 새 항목과 다음과 같은 새 행을 추가했습니다.
" Match Group sftp_users" –> 사용자가 'sftp_users'그룹의 일부인 경우 아래에 언급 된 규칙을이 항목에 적용합니다.
“ ChrootDierctory % h ”–> 사용자는 해당 홈 디렉토리 내에서만 디렉토리를 변경할 수 있고, 홈 디렉토리를 넘어서는 안됩니다. 즉, 사용자가 디렉토리를 변경할 수 없다고 말할 수 있습니다. 다른 사용자 및 시스템의 디렉토리에 액세스 할 수 없습니다.
“ ForceCommand internal-sftp ”–> 사용자는 sftp 명령으로 만 제한됩니다.
4 단계 : sftp 테스트 및 확인
sftp 서버의 동일한 네트워크에있는 다른 Linux 시스템에 로그인 한 다음 'sftp_users'그룹에 매핑 한 사용자를 통해 sftp 서버를 ssh하십시오.
위는 사용자가 SSH를 사용할 수 없음을 확인한 후 다음 명령을 사용하여 sftp를 시도하십시오
ls -l
sftp ' get '명령을 사용하여 파일을 다운로드 해 봅시다
get devops-actions.txtcd / etccd / root
위 출력은 sftp 서버에서 로컬 시스템으로 파일을 다운로드 할 수 있음을 확인하며이 외에도 사용자가 디렉토리를 변경할 수 없는지 테스트했습니다.
" upload "폴더 아래에 파일을 업로드 해 봅시다 .
cd upload /put metricbeat-7.3.1-amd64.debls -l
이는 로컬 시스템에서 sftp 서버로 파일을 성공적으로 업로드했음을 확인합니다.
이제 winscp 도구를 사용하여 SFTP 서버를 테스트하고 사용자의 자격 증명과 함께 sftp 서버 IP 주소를 입력하십시오.
로그인을 클릭 한 다음 파일 다운로드 및 업로드를 시도하십시오
이제 업로드 폴더에 파일을 업로드하십시오.
위의 창은 업로드가 잘 작동하고 있음을 확인합니다.이 기사의 모든 것입니다. 이 단계들이 데비안 10에서 chroot 환경으로 SFTP 서버를 구성하는데 도움이된다면 피드백과 의견을 공유하십시오.
■ ▶ ☞ ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다. https://11q.kr ♠
뷰PDF 1,2
office view
관련자료
댓글목록
등록된 댓글이 없습니다.