Skip to Content
Suffering builds character
아카이브24.Linux부록네트워크 관리7.ftp, 서로 다른 시스템 간 파일 전송

7.ftp, 서로 다른 시스템 간 파일 전송

ftp(File transfer protocol) 명령어를 통해 서로 다른 시스템 간에 파일을 주고받을 수 있음

이러한 FTP는 TCP/IP 프로토콜 중 5계층에 위치하고 있으며, 서로 다른 운영체제 간에도 이 프로토콜을 통해 파일을 주고받을 수 있음

리눅스에서는 FTP를 통해 파일을 주고받기 위해 vsFTPD(Very Secure Transfer Protocol Daemon)을 사용

1. 우분투 서버에 FTP 서비스 설치

관리자 권한을 빌려서 우분투에서 FTP 서버로 동작할 서비스 설치

sudo apt-get install vsftpd

vsftpd 서비스 실행 상태 조회

systemctl status vsftpd

초록색으로 active (running)이라고 표시될 경우 서비스가 동작 중 그렇지 않을 경우, 아래의 명령어를 통해 서비스 직접 실행

vsftpd 서비스 실행

sudo systemctl start vsftpd

telnet 명령어를 통해 FTP 서비스가 정상적으로 동작하는지 테스트

telnet 0 21

실행 결과 - 정상적으로 동작할 경우

Trying 0.0.0.0... Connected to 0 Escape character is '^]'. 220 (vsFTPd 3.0.3)

→ 220 (vsFTPd 3.0.3)으로 출력되면 정상적으로 동작하고 있다는 의미

quit 명령어를 통해 telnet 종료

2. 다른 시스템(ex. Windows)에서 FTP 연결

1번에서 FTP 서버를 설치하였기 때문에 해당 서버에 접속할 클라이언트를 통해 서버와 클라이언트 간에 파일을 주고받을 수 있음(Upload / Download)

window 기본적으로 ftp 서비스를 제공하기 때문에 별도의 설치가 필요하지 않음

window에서 cmd 실행 후 ftp 명령어 실행

ftp

아래와 같이 프롬프트가 ftp> 형태로 전환됨

ftp>

FTP 전용 명령어인 open 명령어를 통해 접속하려는 서버의 ip 주소 입력

open 192.168.56.1

→ 192.168.56.1 - virtualbox에 설정된 기본 우분투 서버 IP 주소

실행 결과

> ftp: connect : 연결이 거부되었습니다.

Virtualbox에서 포트 포워딩 옵션으로 21번 포트 추가

open 명령어로 다시 접속 연결

open 192.168.56.1

정상적으로 연결되었을 경우

192.168.56.1에 연결되었습니다. 220 (vsFTPd 3.0.5) 200 Always in UTF8 mode. 사용자(192.168.56.1:(none)):

사용자 부분 프롬프트에 리눅스 서버에 접속할 계정 입력

guguttemy

→ guguttemy : 리눅스 서버에서 사용하는 사용자 계정 중 하나

정상적으로 입력되었을 경우

331 Please specify the password 암호:

암호 입력 및 암호가 일치할 경우

230 Login successful.

dir, pwd 등으로 현재 경로, 디렉토리 등 조회 가능

get 명령어를 통해 리눅스 서버 → 윈도우 서버(타 시스템)로 파일 다운로드, put 명령어를 통해 윈도우 서버 → 리눅스 서버로 파일 업로드 가능

참고

vsftpd 서비스는 기본적으로 외부(여기서는 window 시스템)에서 파일을 업로드할 수 없도록 설정이 되어있음

따라서 put 명령어를 통해 리눅스 서버로 파일을 업로드하기 위해서는 설정 파일의 값을 바꾸고 서비스를 재실행하여 설정값대로 서비스를 다시 동기화해야함

vsftpd 서비스의 설정 값 변경

sudo vi /etc/vsftpd.conf

vsftpd.conf - vsftpd 관련 설정 파일

vi 파일 내에서 :set nu로 라인 넘버 추가

31번 라인에 작성된 아래의 코드 주석 해제

# write_enable=YES

주석 해제 후

write_enable=YES

파일 저장 후 종료

:wq

변경한 설정 값대로 적용하기 위해 vsftpd 서비스 다시 실행

sudo /etc/init.d/vsftpd restart

3. FTP 종료

전송이 끝났을 경우 window cmd에서 quit 명령어를 통해 FTP 서비스 종료

ftp> quit
Last updated on