본문 바로가기

별걸다하는 IT/리눅스 유닉스

[우분투 & 페도라]파일을 내 PC에 보내고 싶을때! 파일 전송 FTP 설치 및 실습 (vsftpd, filezilla파일질라)

[ Linux / Unix / Shell scripting INDEX 목차 ] 

안녕하세요~!! 오늘도 찾아왔습니당

FTP (File Transfer Protocol)이란?! 언제 써?

사진 출처:  https://wpdevshed.com/favorite-ftp-clients-mac-windows/

FTP란 파일 전송 프로토콜인데요. 많이 들어봐서 용어는 친숙하지만 사실 왜 쓰는지, 왜 필요한지 잘 모르는 친구들이 많을 거라 생각해요 ㅎㅎ

우리 뭐 다른 사람들과 파일 주고받을 일 있으면 메일에 첨부해서 보내잖아요, 그냥 메일 첨부기능만 사용해서 파일을 주고받으니, FTP라는 걸 딱히 접해볼 수 없었겠죵 (제가 그랬습니다 ㅎㅎ)

 

그런데 여러분, 우분투 서버로 스크립트를 짜다보면, 분명 이런 생각을 해봤던 적 있을 거예요.

내가 짠 스크립트 파일, 내 PC에 저장하고 싶은데,,,, vmware우분투는 마우스로 드래그 복사가 안되는데,, 우뜨케 외부로 빼낼 수 있는 방법이 없을까...?

또는, 내가 PC에서 개발환경으로 작성한 프로그램 소스코드 파일을 (비주얼 스튜디오에서 C언어로 작성한다던가?) 서버로 올릴 수 없을까..?

네,, FTP를 사용하시면 진짜 빠르고 손쉽게 가능합니다 ㅎㅎ

아마 회사가면 엄청 사용하게 될거예용 .. 또는 리눅스 실습하면서도 많이 사용하게 될겁니당.

FTP 서버, vsftpd 설치

이번 포스팅에서는, 우분투 서버를 FTP서버로~~ 그리고 내 현재 PC를 FTP 클라이언트로 실습을 진행해볼겁니당.그럼 리눅스서버로 가서, FTP 서버인 vsftpd를 설치해볼까요?

참고로 vsftp는 Very Secure FTP server Daemon의 약자입니다. 리눅스와 유닉스 환경에서 보안성과 성능이 우수한 FTP 서버로 인정받고 있어요 ㅎㅎ

서버쪽 vsftpd 설치~

1. 먼저 root로 접속해주세요.

2. 설치하기 전 패키지를 업데이트 해줄게요

~# apt-get update //우분투일 경우
~# yum update //페도라일 경우

3. vsftpd를 설치해줍시다

~# apt-get install vsftpd //우분투일 경우
~# yum install vsftpd //페도라일 경우

 

continue 나오면 y하고 계속 진행~

4. 방화벽을 사용한다면, 방화벽 포트 허용 설정을 해줍시다

(저는 아직 방화벽 안깔아서 이 부분 생략하고 진행하겠숩니다)

~# ufw allow 20/tcp
~# ufw allow 21/tcp
~# ufw enable

페도라의 경우 기본적으로 방화벽이 설정되어 있기 때문에

~# firewall-cmd --add-service=ftp --permanent
~# firewall-cmd --reload

와 같이 추가적으로 입력해줍시다.

5. vsftpd를 가동해봅시다

~# systemctl restart vsftpd //vsftpd 서비스를 재가동
~# systemctl enable vsftpd //리눅스 부팅시 vsftpd 서비스를 자동으로 가동

6. 21번 포트 리스닝중인지 확인

netstat -ntl

vsftpd가 잘 가동되어있다면 FTP전송하는데 사용되는 21번 포트가 열려있어야 합니다.

이렇게 21번 포트가 LISTEN중인 것을 확인할 수 있어요 그럼 완료!

클라이언트쪽 파일질라 (filezilla) 설치~

이번에는 우리 노트북? PC? 하여튼 우리가 쓰고 있는 컴퓨터에 클라이언트 FTP 프로그램 파일질라를 설치해볼게요~!

홈페이지 URL: https://filezilla-project.org/

여기서 Download FileZilla Client를 다운받아줍시다. 

눌러서 설치를 쭉 진행해줍시당 쭉 next누르다보면 끝나요~

프로그램을 실행시키면 화면은 이렇게 생겼습니다!

서버와 클라이언트 연결시켜보기~

▶1. 일단 서버의 vsftpd가 잘 돌아가고 있는지 상태를 봅시다.

~# service vsftpd status

 

 

active running하는걸 확인할 수 있어요 

 

▶2. 접속할 서버의 IP를 알아야겠죠?!

~# hostname -I

간단하게 이렇게 알 수 있습니다. 이게 가장 간단하게 나와서 좋은데 안되는 유닉스 운영체제도 있으니 그럴 경우 정석인 ifconfig 명령어로 확인해주세요. 제 서버의 IP는 192.168.239.128네요!

 

▶3. 서버 연결할 포트를 확인해봅시다. FTP는 사실 21번으로 이미 고정이 되어 있죠? 그래도 확인해줍시다.

~# netstat -natp | grep ftp

 

▶4. 클라이언트 파일질라에 연결할 서버의 IP 그리고 아이디, 포트를 넣어주세요. 그리고 빠른 연결 클릭!

ID에는 우리 같이 계정 생성했던 ubuntu하고 비밀번호 ubuntu를 넣어줍시다.

우분투 연결 화면
페도라 연결 화면

잘 연결된 것을 확인할 수 있어요! ㅎㅎ

▶5. 확인을 위해서 파일을 전송하고 받아봅시다.

먼저 우분투에서 확인하기 위한 'ftptest.txt'라는 파일을 만들어줬어요. 그냥 안에는 echo " hello this is a script!" 라고 작성해줬답니다.

리모트 사이트라고 나와 있는 곳이 우리 우분투 서버이고 (오른쪽)

왼쪽이 제 PC입니다. 서버에서 ftptest.txt위치를 찾아서 더블클릭해주면 왼쪽에 있는 위치로 ftptest.txt파일이 복사돼요!


만약 접속이 되지 않을 경우,

CONFIG 파일 확인하기

Connection timed out after 20seconds of inactivity 에러가 뜨면서 연결이 되지 않네요 

 

혹시 이런 에러가 떴을 경우에는 설정파일인 config파일을 확인해줍시다.

페도라의 경우 위치: /etc/vsftpd/vsftpd.conf

우분투의 경우 위치: /etc/vsftpd.conf

vi vsftpd.conf

해당 코드를 쳐서 설정파일을 수정해줍시다.

●anonymous_enable

anonymous_enable은 익명의 사용자가 접근할 수 있는지 설정여부입니다. 보안을 위해서는 NO라고 해두는게 좋겠죠?

●local_enable

관리자 말고 서버를 사용하는 로컬 계정들이 접근할 수 있는가입니다.

이게 YES라고 되어 있기에 우리가 ubuntu 계정으로 위에서 연결할 수 있던 거였어요!

●write_enable

클라이언트가 우리 서버에 쓰는 것을 (수정하는 거) 허용할 것인가! 아니면 우리가 보내주는 것을 받게만 할건지~

●anon_mkdir_write_enable

익명의 사용자가 디렉터리를 만드는 거까지 허용할건지 아니면 말건지

대략 여기까지만 알아볼게요 ㅎㅎ 내가 원하는 설정이 제대로 되어있는지 확인해줍시다.

 

참고) 혹시 이래도 안되면 페도라의 경우 SElinux 설정을 꺼보고 시도해보세요!

~# systemctl restart vsftpd //vsftpd 서비스를 재가동
~# systemctl enable vsftpd //리눅스 부팅시 vsftpd 서비스를 자동으로 가동

config파일을 변경하였으면 시스템을 재기동해줘야 합니다.

 

연관 포스팅: 윈도우10 파일탐색기에서 FTP바로 접속하기 (프로그램 다운로드 없음, 명령어 몰라도 됨) 

 

윈도우10 파일탐색기에서 FTP 바로 접속하기 (프로그램 설치 없이, 명령어 없이 파일 올리고 내려받기)

안녕하세요 방문자님들!! 저번 시간에 파일질라 FTP에 대해서 알아보았습니다. 오늘은 단순 내려받기랑, 올리기 정도만 사용하는 사람들을 위해, 파일 탐색기에서 FTP 바로 접속하는 법을 알아볼거예요. 정말정말..

jhnyang.tistory.com

오늘은 여기까지입니다! 댓글 광고보답 공감은 사랑입니당 ♥

고럼 다음 포스팅에서 봐요!!