일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Materials
- openpyxl
- mysql
- rethinkdb
- 실행권한
- port forwarding
- insert
- Jupyter Notebook
- perfect
- appium
- ftp
- nohup
- nGrinder
- appium server
- create table
- nmap
- 28015
- STF
- kitura
- centos
- SWIFT
- postgresql
- STF_PortForwarding
- GoCD
- ubuntu
- PYTHON
- Jupyter
- postgres
- ssh
- sshpass
- Today
- Total
don't stop believing
vsftpd 설치 (on Ubuntu 18.04) 본문
전에 사용하던 ftp가 이사하면서 디스크가 날아갔습니다.
다시 설치해 보겠습니다.
이번에는 Ubuntu 18.04에 설치합니다. 설치 방법은 기존과 동일합니다.
먼저 Ubuntu 버전부터 확인하고 가겠습니다.
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
먼저 package를 업데이트하고 vsftpd 데몬을 설치 합니다.
$ sudo apt-get update $ sudo apt-get install vsftpd
vsftpd를 다시 시작해 줍니다. 그리고 ubuntu가 재시작 될때 같이 실행되도록 해줍니다.
$ sudo systemctl stop vsftpd.service $ sudo systemctl start vsftpd.service $ sudo systemctl enable vsftpd.service
ftp에 사용할 계정을 만들어 줍니다. 저는 tongchun이라고 계정을 추가했습니다.
$ sudo adduser tongchun
계정에 대한 home 디렉토리에 ftp폴더를 만들어 주고 권한을 변경합니다.
$ sudo mkdir /home/tongchun/ftp $ sudo chown nobody:nogroup /home/tongchun/ftp $ sudo chmod a-w /home/tongchun/ftp/
ftp폴더 안에 files폴더를 만들고 테스트용 파일을 추가해 봅니다.
$ sudo mkdir /home/tongchun/ftp/files $ sudo chown tongchun:tongchun /home/tongchun/ftp/files $ echo "vsftpd test file" | sudo tee /home/tongchun/ftp/files/test.txt
이제 vsftpd를 설정할 차례입니다.
설정하기 전 설정파일을 백업 카피 합니다.
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
vsftpd.conf 파일을 열고 설정을 수정합니다.
$ sudo vim /etc/vsftpd.conf
default 설정이 있는데 모두 지워줍니다.
vim에서 모든 내용을 지우려면, gg 로 첫번째 줄로 이동합니다. 그리고 dG 로 현재 줄 이하의 내용을 지웁니다.
그리고 아래 내용을 작성합니다.
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 secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd pasv_enable=Yes pasv_min_port=10000 pasv_max_port=11000 user_sub_token=$USER local_root=/home/$USER/ftp userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
설정과 같이 userlist를 만들어 줍니다.
$ sudo vim /etc/vsftpd.userlist
vsftpd.userlist 파일에 앞서 만들었던 tongchun을 추가합니다.
tongchun
vsftpd를 재시작 해줍니다.
$ sudo systemctl restart vsftpd
이번엔 ssl/tls 설정을 하겠습니다.
cert 폴더를 만들고 pem 파일을 만들어 줍니다.
$ sudo mkdir /etc/cert $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
pem 파일을 만들때 Distinguished Name를 작성하라고 합니다.
저는 아래와 같이 작성했습니다.
Country Name (2 letter code) [AU]:KR State or Province Name (full name) [Some-State]:Gyeonggi-do Locality Name (eg, city) []:Seongnam Organization Name (eg, company) [Internet Widgits Pty Ltd]:nGle Organizational Unit Name (eg, section) []:platform Common Name (e.g. server FQDN or YOUR name) []:tongchun Email Address []:tongchun@ngle.co.kr
이제 ssl/tcl에 대한 설정을 추가해야 합니다.
vsftpd.conf 파일을 열고 아래와 같이 추가합니다.
$ sudo vim /etc/vsftpd.conf
rsa_cert_file=/etc/cert/vsftpd.pem rsa_private_key_file=/etc/cert/vsftpd.pem ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO ssl_ciphers=HIGH
설정을 저장하고 vsftpd를 재시작 해줍니다.
$ sudo systemctl restart vsftpd
이제 설정이 다 완료되었습니다.
서버에 방화벽이 설정되어 있다면 아래 링크를 참고하세요.
https://dejavuqa.tistory.com/252
이제 FileZilla를 실행시키고 접속해 보겠습니다.
호스트 IP와 추가한 계정/비번 그리포 21 포트로 연결합니다.
연결후 인증서가 보인다면 '이후 세션에서 항상 인증서 신뢰'를 체크해 줍니다.
접속 후 먼저 만들었던 test.txt 파일도 잘 보입니다.
접속이 잘 되었네요.
여기까지 ssl/tcl을 적용한 vsftpd 설치였습니다.
실제 ftp 서버를 운영하면서 config 설정이 추가되거나 변경되는 경우가 있습니다.
운영중인 ftp 서버의 configuration 설정을 다시 정리했습니다.
'Tools > VSFTPD' 카테고리의 다른 글
실제 운영되고 있는 ftp 서버의 configuration 정보 (0) | 2018.12.05 |
---|---|
filezilla에서 '서버가 알 수 없는 주소와 수동형 응답을 보냈습니다' (0) | 2018.10.16 |
ftp 계정 추가하기 (0) | 2018.09.11 |
Ubuntu 방화벽 설정 (vsftpd) (0) | 2018.09.11 |
vsftpd 설치 (on Ubuntu 16.04) (0) | 2017.09.18 |