CentOS 8에서 ssh 로그인은 허용하지 않는 sftp만 허용하는 계정 생성 방법을 알아보고, 실습을 통해 쉽게 적용하고 사용할 수 있습니다.
CentOS 8에서 ssh 로그인은 허용하지 않는 sftp만 허용하는 계정 생성 방법을 알아보고, 실습을 통해 쉽게 적용하고 사용할 수 있습니다.
리눅스 서버에서 SSH 접속은 허용하지 않고, SFTP를 통해 파일 업로드 및 다운로드만 가능한 계정이 필요할 경우 SFTP 전용 계정을 생성해서 사용할 수 있습니다.
sftp-only 그룹과 sftp-user 계정을 사용해서 SSH 접속은 허용되지 않으면서 SFTP를 통해 파일 업로드와 다운로드만 가능하도록 설정하는 작업입니다.
실습 환경
- 운영 체제(OS) : CentOS 8
- root 계정으로 실행
그룹 생성하기
SFTP 용도의 sftp-only 그룹을 생성합니다.
[groupadd -g 1100 sftp-only]
유저 생성하기
SFTP 용도의 sftp-user 계정을 생성하므로 SSH 접속을 제한하고, 홈 디렉터리를 생성하지 않습니다.
[useradd -M -s /sbin/nologin -u 1100 -g sftp-only sftp-user]
비밀번호 설정하기
sftp-user 계정의 비밀번호를 설정합니다.
[echo 'password' | passwd --stdin sftp-user]
- [message]
- ##info-circle## 계정 비밀번호를 관리자가 변경해 줘야 합니다!
- sftp-user 계정은 SSH 로그인이 불가능하므로, 비밀번호 변경 시 관리자가 변경해 줘야 합니다.
SFTP 홈 디렉터리 생성 및 CHROOT 설정하기
SFTP를 사용해서 업로드할 디렉터리를 생성하고, chroot 설정을 통해 홈 디렉터리를 제외한 경로의 접근을 제한합니다.
홈 디렉터리 생성 및 권한 설정하기
/sftp-only/sftp-user 가 홈 디렉터리이며, 업로드 경로로 uploads 디렉터리를 생성합니다.
[mkdir -p /sftp-only/sftp-user/uploads]
sftp-user 계정의 홈 디렉터리를 설정합니다.
[usermod -d /sftp-only/sftp-user/ sftp-user]
sftp-user 계정이 uploads 디렉터리를 사용할 수 있도록 권한 설정을 합니다.
[chown sftp-user.sftp-only /sftp-only/sftp-user/uploads]
CHROOT 설정하기
홈 디렉터리로 이 외의 경로의 접근을 제한하기 위해 sshd_config 파일의 내용을 수정합니다.
[vi /etc/ssh/sshd_config]
[# override default of no subsystems #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp -f LOCAL5 -l VERBOSE Match Group sftp-only ChrootDirectory /sftp-only/%u ForceCommand internal-sftp]
SSH 접속 테스트하기
SFTP 전용 계정이므로 SSH 접속을 제한했습니다. SSH 로그인이 되지 않는지 확인합니다.
[ssh sftp-user@localhost]
![]() |
| sftp-only 계정 SSH 로그인 차단 확인 |
SFTP 접근 경로 테스트하기
파일질라를 사용해서 SFTP 접속 후 파일 업로드 및 접근 할 수 있는 경로를 확인합니다.
desktop.ini 파일을 테스트로 업로드했습니다.
파일 소유자/그룹이 sftp-user/sftp-only 로 설정된 것을 확인할 수 있습니다.
![]() |
| 파일질라 sftp 접속 경로 테스트 |
마무리
리눅스 서버에서 sftp 용도의 계정 생성과 설정 작업이 완료되었습니다.
ftp 서비스를 사용하지 않고, 파일 업로드 및 다운로드 용도의 계정 생성이 필요할 때 사용할 수 있습니다.
![sftp-only 계정 SSH 로그인 차단 확인 [LINUX] 리눅스에서 SFTP만 되는 계정 생성하기](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLikeu3x-A1tlmS_p4NMJMj7fEYHA-p01e_WrnVTPmSx4zumN355gnd94dBcEGCDb08Wk3GSzBz3q1NZB3Z4ZfH2nFUBY04bjRxt0BCvjM4fQ8E50VV-CcDz4K7vJOP1F_H_Rk-S2j80/s1600/ssh+login+test+sftp+only+%25281%2529.png)
![파일질라 sftp 접속 경로 테스트 [LINUX] 리눅스에서 SFTP만 되는 계정 생성하기](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGjgeoEomNjzfFLIu1P8AZ6J1x42zdSkqIFnJgOKdjBEBLz5fEuyyk-ZW4aGn5XBFVQc1uMyGpR34vyhE3-kkZkLp10u32LcVG24SMO5baDFQR9bZEmaJoFXGGQFA3bft_hYJkIlX-P_0/s1600/%25ED%258C%258C%25EC%259D%25BC%25EC%25A7%2588%25EB%259D%25BC+sftp+%25EC%25A0%2591%25EC%2586%258D+%25ED%2585%258C%25EC%258A%25A4%25ED%258A%25B8+%25281%2529.png)
COMMENTS