2014-01-07

Linux에서 SFTP 서버 만들기 (SFTP만 허용하는 USER만들기)

1. SFTP만 허용하는 USER ID 생성
testuser  :0:502:sftp user:/home/testuser:/sbin/nologin
2. /etc/ssh/sshd_config 파일 수정하기
…….
# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp
Match User testuser        ChrootDirectory /home/testuser
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
……..

3. /etc/init.d/sshd restart
/etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

참 고로 만일 SELinux가 Enable되어 있으면 SFTP server로 file upload를 할 경우에 permission 에러가 발생할 소지가 많습니다. Linux설치시에 SELinux를 Enable했을 경우에 아래와 같은 방법으로 SELinux를 사용하지 않도록 할 수 있습니다.
1. selinux 설정파일 수정
vi /etc/sysconfig/selinux
SELINUX=enforcing를 SELINUX=disabled로 변경합니다. 그리고 나서 시슽템을 재부팅합니다.
2. 수동으로 selinux를 끄는 방법은 아래와 같습니다.
setenforce 0   # selinux 끄기
setenforce 1   # selinux 켜기