Ubuntu에서 FTP 서버를 설치하려면 보통 vsftpd를 추천합니다. 가볍고 안정적이며 설정도 간단합니다.
다만 가능하면 일반 FTP보다 SFTP(SSH 기반)를 사용하는 것이 보안상 훨씬 좋습니다. 이미 Ubuntu에 SSH 서버를 사용하고 있다면 SFTP는 별도 FTP 서버 설치 없이 바로 사용할 수 있습니다.
1. FTP 서버 설치 — vsftpd
터미널에서:
sudo apt update
sudo apt install vsftpd -y
설치 후 상태 확인:
sudo systemctl status vsftpd
정상이라면:
Active: active (running)
이 표시됩니다.
2. 서버가 부팅될 때 자동 실행
sudo systemctl enable vsftpd
3. 설정 파일 백업
설정 변경 전에 백업해 두는 것이 좋습니다.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
4. 기본 설정
설정 파일을 엽니다.
sudo nano /etc/vsftpd.conf
다음 항목을 확인하거나 추가합니다.
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
저장:
Ctrl + O → Enter → Ctrl + X
5. FTP로 사용할 Ubuntu 사용자 만들기
예를 들어 ftpuser라는 계정을 만들겠습니다.
sudo adduser ftpuser
비밀번호를 입력합니다.
그 다음 FTP용 디렉터리를 만들어 줍니다.
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
6. vsftpd 재시작
sudo systemctl restart vsftpd
확인:
sudo systemctl status vsftpd
7. 방화벽 설정
UFW를 사용하고 있다면:
sudo ufw allow 21/tcp
확인:
sudo ufw status
⚠️ 중요한 부분: 외부에서 접속할 경우
집이나 사무실 Ubuntu 서버에 FTP를 설치하고 인터넷을 통해 접속하려는 경우에는 포트 21 하나만 열면 끝나지 않습니다.
FTP는 Passive Mode 설정이 필요합니다.
예를 들어:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
그리고 방화벽:
sudo ufw allow 40000:40100/tcp
공유기에서도
TCP 21
TCP 40000-40100
포트포워딩을 설정해야 합니다.
또한 외부 인터넷에서 FTP를 사용할 경우 일반 FTP는 아이디/비밀번호가 암호화되지 않기 때문에 권장하지 않습니다.
⭐ 더 추천하는 방법: SFTP
만약 목적이 Windows PC에서 Ubuntu 서버로 파일을 올리고 내려받는 것이라면 FTP 서버를 설치하지 않는 것이 좋습니다.
Ubuntu에 SSH가 설치되어 있다면 Windows의 WinSCP나 FileZilla에서:
프로토콜 : SFTP
호스트 : Ubuntu 서버 IP
포트 : 22
사용자 : Ubuntu 사용자
비밀번호 : Ubuntu 사용자 비밀번호
로 접속하면 됩니다.
보안 + 설정 편의성 측면에서는 SFTP를 강력 추천합니다.
특히 이전에 사용하셨던 것처럼 Ubuntu 서버에서 웹사이트/Flask/WordPress 파일을 관리하는 용도라면 FTP(vsftpd)보다 SFTP가 훨씬 편합니다.
Leave a Reply