본문 바로가기

Dev. OS

CentOS7 FTP 설치 및 접속

1. vsftpd 설치

yum -y install vsftpd


2. vsftpd 환경설정

vi /etc/vsftpd/vsftpd.conf 파일을 아래와 같이 수정해 줍니다.


3. 방화벽 설정 ( 체크 : iptables가 firewalld로 변경되었습니다)

firewall-cmd --permanent --add-port=21/tcp

firewall-cmd --permanent --add-service=ftp

firewall-cmd --reload


4. 계정추가

useradd 계정명

passwd 패스워드


5. vsftpd 실행상태 확인

systemctl status vsftpd.service <– vsftpd 상태확인
systemctl start vsftpd.service <– vsftpd 시작
systemctl stop vsftpd.service <– vsftpd 중지
systemctl restart vsftpd.service <– vsftpd 재시작


6. FTP Client 설치

yum install ftp


7. ftp 접속



** 에러처리
A. # systemctl restart vsftpd.service 명령어로 vsftpd서버를 시작할때 Job for vsftpd.service failed. See ‘systemctl status vsftpd.service’ and ‘journalctl -xn’ for details. 라는 메세지가 나온다면 vsftpd.conf설정파일에 문제가 있어서 발생하는 경우가 있다, 예를 들어 잘못된 키워드가 있다던가 특수 문자가 편집중에 입력이 되었을 경우.

B. vsftpd 서버에 접속하여 파일을 업로드하거나 다운로드할 때 550 Failed to open file. 라는 메세지가 나올 경우가 있다. 이는 SELinux의 보안 정책에 의해 업로드/다운로드 할 수 없을 경우이다. SELinux를 비활성화 하고 서버를 재부팅하면 파일 업로드/다운로드를 할 수 있다.
– SELinux 비활성화 방법
/etc/selinux/config 파일을 열어서 SELINUX=enforcing 를 SELINUX=disabled로 변경후 재부팅 하고 다시 활성화 하려면 SELINUX=enforcing으로 변경하고 리눅스 시스템을 재부팅 한다.
– SELinux 상태보기
sestatus
getsebool -a | grep ftp

C. 로컬에서 vsftpd서버에 접속해서 업로드/다운로드가 잘 되는데 원격에서는 접속조차 되지 않는 경우가 있다. 이는 firewalld 방화벽 때문일수도 있다. firewalld가 실행중인지 확인하고 실행중이라면 firewalld를 중지하고 원격에서 vsftpd서버에 접속해 본다.
— firewalld 실행 상태 확인
# systemctl status firewalld.service
— firewalld 중지
# systemctl stop firewalld.service
— firewalld 자동중지(시스템시작시 자동시작 안함)
# systemctl disable firewalld.service



지금까지 CentOS7에서의 ftp 설치 및 접속 방법이었습니다. 

도움이 되셨길 바랍니다. ^^