본문 바로가기
OS/Ubuntu LINUX

[우분투 18.04.1 LTS] 리눅스 FTP (vsftpd) 파일질라로 리눅스 서버에 접속하기

by Nov19 2019. 3. 12.
반응형


[우분투 18.04.1 LTS] 리눅스 FTP (vsftpd) 

파일질라로 리눅스 서버에 접속하기


1. vsftpd 설치

 $ sudo apt update 
 $ sudo apt install vsftpd 

2. 방화벽 포트(20번,21번) 허용 

vsftpd는 기본적으로 20번, 21번 포트를 사용한다. 방화벽을 사용한다면 해당 포트번호를 허용해준다.

 
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw enable

3. /etc/vsftpd.conf 설정 파일 수정

 $ sudo gedit /etc/vsftpd.conf 


/etc/vsftpd.conf 파일 (설정파일 수정)

# anonymous 유저 허용 여부
anonymous_enable=NO 

# 계정사용자 접속 허용 여부
local_enable=YES 

# 업로드 허용 여부
write_enable=YES 

# 디렉토리나 파일 생성시 umask 값 
# local_umask의 숫자를 변경하여 기본 권한을 변경해 준다.
# 디폴트값 022
local_umask = 022
폴더는 777 - 022 = 775
파일은 666 - 022 = 644

# 사용자 홈디렉토리에 .message 파일에 작성 
dirmessage_enable=YES 
# chroot 적용 자신의 계정에서 상위 디렉토리로 이동 허용 여부
chroot_local_user=YES 
allow_chroot

4. vsftpd서비스 재시작

자신의 상황에 맞게 설정하면 되고 아래의 문서를 참고하여 필요한 설정을 해준다. 


설정이 끝나면 vsftpd 서비스를 재시작 해준다.
 $ sudo service vsftpd restart
파일질라로 접속해본다.






vsftpd는 액티브모드와 패시브모드가 있다. 
액티브 모드 : 
클라이언트에서 서버의 21번 포트로 접속 
서버의 데이터 포트(20번)가 클라이언트로 접속해 데이터 보냄.
클라이언트가 서버에 접속을 시도하는 것이 아니라 서버가 클라이언트에 접속을 시도하기 때문에
클라이언트 피시에 방화벽이 설치되어 있거나 외부에서의 접속을 허용하지 않으면 제대로 작동하지 않을 수 있음.  

패시브 모드 : 
클라이언트에서 서버의 21번 포트로 접속 
서버에 설정된 포트에 클라이언트가 접속해 데이터 받음. 
패시브 모드를 사용하려면 방화벽에서 해당 포트를 모두 열어두어야 한다. 
패시브 모드를 사용하려면 /etc/vsftpd.conf 파일에 다음의 내용을 추가한다. 
비특권 포트번호범위 (1024~65535)
 
pasv_enable=YES
pasv_min_port=50000 #원하는 비특권 포트번호 최소값
pasv_max_port=50010 #원하는 비특권 포트번호 최대값
pasv_address=자신의 ip주소
위 내용을 저장한 뒤 포트번호의 범위를 방화벽에서 허용해준다.
 
$ sudo ufw allow to any port 50000:50010 proto tcp
만약 다음과 같이 디렉터리 목록 조회가 안될때는
상태:	192.168.0.0:21에 연결...
상태:	연결 수립, 환영 메시지를 기다림...
상태:	보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다.
상태:	로그인
상태:	디렉터리 목록 조회...
명령:	PWD
응답:	257 "/home/test" is the current directory
명령:	TYPE I
응답:	200 Switching to Binary mode.
명령:	PASV
응답:	227 Entering Passive Mode (192,168,0,0,0,0).
명령:	LIST
오류:	Connection timed out after 20 seconds of inactivity
오류:	디렉터리 목록을 조회하는 데 실패함
이러한 오류 발생시 /etc/vsftpd.conf 파일에 pasv_enable=NO 를 명시적으로 추가 해준다.
 pasv_enable=NO 

530에러 발생시 여러 원인이 있을 수 있다. 

다른 원인은.. profile 수정 등이 있지만 그냥 재설치 하니까 됐다.. 이건 개인차가 있으니..
 
sudo apt remove vsftpd
sudo apt install vsftpd
 

ECONNREFUSED - 서버에서의 연결 거부"(으)로 연결 시도 실패

파일질라 연결을 FTP가 아닌 SFTP로 접속해 본다.


500 OOPS: vsftpd: refusing to run with writable root inside chroot()

/etc/vsftpd.conf 에

allow_writeable_chroot=YES 를 추가해준다.

반응형

댓글