본문 바로가기
리눅스

Linux FTP

by 다움위키 2024. 4. 28.

원문 : https://dawoum.duckdns.org/wiki/Linux_FTP

 

집에서 어떤 자료를 리눅스 컴퓨터에 모아두게 되면, 때때로 다른 기계, 예를 들어, 스마트폰, 태블릿, 다른 컴퓨터, 등으로 옮길 필요가 있습니다.

물론 외부 저장장치, 예를 들어, USB 저장 기기로 파일을 옮긴 후에 해당 기기로 다시 옮길 수 있지만, 대체로 집에 인터넷이 연결되어 있을 때에는 무선으로 파일을 교환하는 것이, 장소를 이동해야 하는 제약이 사라지기 때문에, 훨씬 편리합니다.

만약 자료가 방대해서 고민이라면, 가정용 네트워크 연결 스토리지 중 하나, NAS 등을 고려해 볼 수 있습니다. 그러나, 이를 구성하는 것에 상당한 돈이 소모될 뿐만 아니라, 이를 구성하고 지속적으로 관리하는 것이 쉽지 않을 수 있습니다.

어쨌든, 보통 집에는 필수 가전 제품으로 컴퓨터와 인터넷이 구성될 것이므로, 리눅스를 설치 후에 파일을 교환하는 방법을 구축해 볼 수 있습니다.

FTP Server

먼저 파일을 보관하는 컴퓨터에 리눅스를 설치해 두었다면, 이제 파일을 교환하기 위한 ftp 서버를 구성해야 합니다. 서버로 사용할 ftp 서버는 여러 개가 있고, 서로 사이의 비교된 내용을 영문 위키피디아에서 찾을 수 있습니다.

물론, 회사 등의 조직에서 ftp 서버를 구성할 때에는 보다 많은 기능을 가진 서버 프로그램이 필요할 수 있지만, 간단히 집에서 리눅스 계정 사용자에 따라 파일을 옮길 때에는 배포판에서 제공하는 ftp 서버를 이용할 수 있습니다.

데비안 리눅스 등에서, 라이선스의 문제로, proftpd, pure-ftpd, vsftpd 등을 제공하고 있고, 그 중에서 vsftpd를 기본 ftp 서버로 삼는 경우가 많습니다.

만약, 집에서만 자료를 교환하기 위해 ftp 서버를 운영할 예정이라면, 특별한 작업 없이도 ftp 서버를 운영할 수 있지만, 무선으로 암호를 일반 텍스트로 교환하는 것이 꺼려질 수 있습니다. 이때에는 스스로 ssl을 발급하거나, 공인 기관, 예를 들어 Let's Encrypt에서 제공하는 인증서를 이용할 수 있습니다.

한편, ftp 서버를 운영함에 있어, 집에서 뿐만 아니라 회사 등의 외부에서 서버로 접근하기 위해서는 ssl 이외에도 DuckDNS 등을 이용해서 ip 대신 호스트 이름으로 외부에서 접근할 필요가 있습니다. 인터넷 제공 회사마다 다르지만, ip 주소가 바뀌지 않더라고, 외부 접속에서 ip 주소를 외우는 것보다 호스트 이름을 외우는 것이 간편하기 때문입니다.

게다가, 외부에서 컴퓨터를 접근하도록 만들 때에는 가능한 한 방화벽을 구축할 필요가 있습니다. 대부분의 배포판에서는 기본으로 제공하는 방화벽 소프트웨어, 예를 들어 Uncomplicated Firewall와 같은 것이 있고 이를 활성화하고, ftp 서버의 설정에 따라 방화벽 설정을 추가할 필요가 있습니다.

요약하자면,

FTP client

서버 구성을 마쳤다면, 이제 파일을 가져올 소프트웨어를 각 기계에 설치해야 합니다. 이를 위해 준비된 많은 소프트웨어가 있고, 일부 목록은 영문 위키피디아 문서에서 볼 수 있습니다.

linux client

리눅스에서는 간단히 1~2개의 파일을 다운로드하기 위해서는 터미널에서 이를 수행하는 것이 편할 수 있습니다. 이때에는 명령줄 도구로써, ncftp 또는 lftp를 이용할 수 있습니다. 만약 ssl을 ftp 서버에서 구성했으면, ncftp는 이용할 수 없습니다.

한편, 데스크탑 환경에서 gui 인터페이스를 가진 클라이언트로는 filezilla를 이용해 볼 수 있습니다.

window client

역시 filezilla를 이용해 볼 수 있습니다.

android client

안드로이드와 같은 작은 화면에서 이용할 때에는 서버-측과 클라이언트-측을 구별해서 보이는 Total Commander와 같은 파일 관리자를 이용할 필요가 있습니다. 이때 ftp 플럭인을 설치해서 이용할 수 있습니다.