🔒 SSH 로그인 시 특정 폴더만 접근할 수 있는 계정 생성
SSH를 통해 로그인할 수 있지만, 특정 폴더 외에는 접근할 수 없는 계정을 만들려면 Chroot 환경을 설정해야 합니다.
✅ 1. 사용자 계정 생성
sudo useradd -m -d /home/restricted_user -s /bin/bash restricted_user
sudo passwd restricted_user
- -m: 홈 디렉터리 생성
- -d /home/restricted_user: 홈 디렉터리를 /home/restricted_user로 설정
- -s /bin/bash: 기본 셸을 /bin/bash로 설정 (Chroot 환경에서도 셸을 사용할 경우 필요)
✅ 2. 특정 폴더만 접근 가능하도록 설정 (Chroot)
1️⃣ Chroot 디렉터리 생성
Chroot 환경을 구성하려면 SSH 로그인 시 사용자를 특정 디렉터리로 제한해야 합니다.
sudo mkdir -p /home/restricted_user/chroot_folder
sudo chown root:root /home/restricted_user
sudo chmod 755 /home/restricted_user
- /home/restricted_user/chroot_folder → 사용자가 접근할 수 있는 폴더
- /home/restricted_user의 소유권을 root:root으로 설정하여 탈출 방지
- chmod 755로 설정해 모든 사용자가 읽을 수 있지만 쓰지는 못하도록 제한
2️⃣ 사용자 디렉터리 안에 접근 가능한 폴더 생성
sudo mkdir -p /home/restricted_user/chroot_folder/files
sudo chown restricted_user:restricted_user /home/restricted_user/chroot_folder/files
sudo chmod 700 /home/restricted_user/chroot_folder/files
- /chroot_folder/files 안에서만 파일 작업 가능
✅ 3. SSH 설정 변경 (Chroot 적용)
SSH 설정 파일을 수정하여 restricted_user가 지정된 디렉터리 외에는 접근할 수 없도록 만듭니다.
sudo nano /etc/ssh/sshd_config
아래 내용을 추가:
Match User restricted_user
ChrootDirectory /home/restricted_user
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
- ChrootDirectory /home/restricted_user → 사용자를 /home/restricted_user 디렉터리로 제한
- ForceCommand internal-sftp → SSH 접속을 SFTP 모드로 강제
- AllowTCPForwarding no, X11Forwarding no → 추가 보안 강화
설정 적용 후 SSH 재시작:
sudo systemctl restart sshd
✅ 4. SFTP로 로그인 확인
이제 restricted_user는 SSH로 로그인해도 /home/restricted_user/chroot_folder 폴더 외에는 접근할 수 없습니다.
sftp restricted_user@your-server-ip
로그인 후:
sftp> ls
files
sftp> cd ..
sftp> ls
→ ls 명령어를 실행해도 /home/restricted_user/chroot_folder 외에는 이동이 불가능합니다.
📌 정리
단계 설명
1️⃣ useradd | SSH 로그인 계정 생성 |
2️⃣ chroot 설정 | 특정 폴더 외 접근 차단 |
3️⃣ SSH 설정 수정 | sshd_config에서 Chroot 설정 |
4️⃣ SFTP 접속 테스트 | 특정 폴더 외 이동 불가 확인 |
이 방법을 사용하면 restricted_user는 SSH로 로그인하더라도 지정된 폴더 외에는 접근할 수 없는 계정이 됩니다.
추가 설정이 필요하면 말씀해주세요! 😊
'북마크 > Q&A' 카테고리의 다른 글
Node.js와 MongoDB 연동 (0) | 2025.02.04 |
---|---|
랜드마크를 기준으로 Azimuth Angle과 Elevation Angle을 이용한 거리 계산 (0) | 2025.02.04 |
랜드마크와 특정 물체 간 거리 계산하기 (0) | 2025.02.04 |
댓글